Я использую file::find
, чтобы просмотреть структуру каталогов и распечатать ее, но у меня возникают проблемы с исключением скрытых файлов. Вот что у меня пока так:
find(\&todo, $start_dir);
sub todo
{
if ($_ =~ /^./)
{
print "hidden file $_\n";
}
else
{
if (-f $_) #check for file
{
file;
}
elsif (-d $_) #check for directory
{
directory($File::Find::dir);
}
else
{
print "ERROR: $_\n";
}
}
}
Если я уберу проверку if ($_ =~ /^./)
, файлы и каталоги будут работать нормально, но при добавлении этой команды все печатается как скрытый файл. Как видите, мне нужно это только для работы на Unix.
Кто-нибудь может указать мне правильное направление?
РЕДАКТИРОВАТЬ: я забыл обратный слеш перед. - должно быть, если ($ _ = ~ /^./), но есть ли в find () способ игнорирования скрытых файлов / каталогов по умолчанию?
Спасибо!