Передача по значению против передачи по ссылке для хэша 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();

Когда я запускаю разные текстовые файлы по отдельности, у меня не возникает проблем, но с обоими возникают некоторые конфликты.

Ответы на вопрос(3)

Ваш ответ на вопрос