Perl Glob возвращает ложное срабатывание
То, что казалось простым кусочком кода, наверняка не соответствовало тому, что я хотел.
Может кто-нибудь объяснить мне, что он делает и почему?
my $dir = './some/directory';
if ( -d $dir && <$dir/*> ) {
print "Dir exists and has non-hidden files in it\n";
}
else {
print "Dir either does not exist or has no non-hidden files in it\n";
}
В моем тестовом случае каталог существовал и был пустым. Тем не менееthen
(первый) разделif
срабатывает вместоelse
раздел, как и ожидалось.
Мне не нужно, чтобы кто-нибудь подсказывал, как достичь того, чего я хочу достичь. Я просто хочу понять интерпретацию этого кода в Perl, которая определенно не соответствует моей.