Передача по значению против передачи по ссылке для хэша Perl
Я использую подпрограмму для создания нескольких различных хэш-карт. Я'В настоящее время я передаю хэш-карту по ссылке, но это конфликтует при многократном выполнении. Должен ли я передавать хеш по значению или передавать ссылку на хеш?
use strict;
use warnings;
sub fromFile($){
local $/;
local our %counts =();
my $string = ;
open FILE, $string or die $!;
my $contents = ;
close FILE or die $!;
my $pa = qr{
( \pL {2} )
(?{
if(exists $counts{lc($^N)}){
$counts{lc($^N)} = $counts{lc($^N)} + 1;
}
else{
$counts{lc($^N)} = '1';
}
})
(*FAIL)
}x;
$contents =~ $pa;
return %counts;
}
sub main(){
my %english_map = &fromFile("english.txt");
#my %german_map = &fromFile("german.txt");
}
main();
Когда я запускаю разные текстовые файлы по отдельности, у меня не возникает проблем, но с обоими возникают некоторые конфликты.