В настоящее время я пишу скрипт для проверки наличия файлов, находящихся в нескольких каталогах.Я пишу в хэш и планирую назначить один и тот же числовой номер для тех каталогов, которые должны выполнять те же подпрограммы.И поэтому я буду называть по именам значений.Другими словами, эти каталоги, соответствующие значению, будут выполнять ту же подпрограмму, в противном случае они будут выгружены в список, чтобы позже они были распечатаны в кратком изложении.Я пишу сценарий, как показано ниже, но он, кажется, не работает должным образом, так как кажется, что значение вообще не захватывает значение.Могу я узнать, что здесь не так?Примечание. Я хочу вызывать хеш по значению, но не по ключу.
my %hashDir = (dirA => 1, dirB => 2, dirC =>3 , dirD => 1, dirE =>2, dirF =>1);
my $key = "";
my $value = "" ;
my $buf ;
my $d = "$basedir/$buf";
while (($key, $value) = each (%hashDir)) {
if (exists $hashDir{'1'}) {
print "test1\n" ;
subroutine1() ;
} elsif (exists $hashDir{'2'}) {
print "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" ;
subroutine2() ;
} else {
$missingdir .= "\"$buf\" " ;
print "test3\n" ;
}
}