$lab1
- это хеш-ссылка, содержащая другие хеш-ссылки.$cate1
- это какой-то ключ категории (я предполагаю).
$lab1->{$cate1}
- ссылка на хеш.Когда вы разыменовываете его, помещая вокруг него * 1006, вы получаете хеш обратно.Затем этот хэш передается в функцию keys()
, которая возвращает список ключей в этом хэше.Таким образом, @positives
является массивом ключей в хэше, на которые ссылается ссылка на хэш $lab1->{$cate1}
.
Редактировать: При работе с этими видами вложенных структур вам может оказаться прощечтобы понять, что происходит, увидев представление данных.В верхней части вашего сценария добавьте use Data::Dumper
.Затем между строками my $lab1...
и my @positives...
добавьте:
print Dumper($lab1);
print Dumper($lab1->{$cate1});
И после установки массива @positives
добавьте:
print Dumper(\@positives);
Это должно помочь вам лучшевизуализируйте данные и, надеюсь, получите лучшее понимание структур Perl.