путаница в Perl - PullRequest
       33

путаница в Perl

0 голосов
/ 07 июня 2011

Видите ли вы что-то неправильное в приведенном ниже выражении.

    my $container;
    while (my $val = $details->next()){
          $container->{'total_vals'} += 1;
          my $section_name= 'some string from some db query';
          $container->{"$section_name"}->{'total_vals'} += 1;
    }
    print Dumper $section;

Код выше работает, когда строгий режим не используется no strict.но второй ключ не содержит допустимого значения.в то время как если используется строгий саб, я получаю предупреждение ниже.просто дайте мне знать, что мне не хватает.

Can't use string ("140360537348481") as a HASH ref while "strict refs" in use at source.pm line 61."

1 Ответ

4 голосов
/ 07 июня 2011

Это означает, что вы, вероятно, установите $container->{"$section_name"} = "140360537348481"; в какой-то момент. Когда вы должны были сделать $container->{"$section_name"} = {};.

...