Лично почти всегда я использую хеш-ссылки вместо perl-хешей (и arrayrefs вместо perl-массивов тоже).Пример:
my $dirs = {
'/home/user' => [ '.profile', '.bashrc', 'My_pic.png' ],
'/root' => [ '.profile', '.zshrc' ]
};
my $var = { (...) }
делает ссылку на хеш, =>
- это просто синоним запятой ,
, но позволяет различать ключи и значения хеша.[ (...) ]
делает ссылку на анонимный массив, который назначается в качестве значения хеш-функции.
Вам не нужно хранить избыточную информацию, такую как количество файлов, вы можете просто оценить массив в скалярном контексте:
my $root_files = $dirs->{'/root'};
$size = scalar @{$root_files};
Вы можете узнать больше о хешах здесь и здесь .