Добрый вечер. Столкнулся с достаточно непонятной для меня проблемой.
Написал скрипт на Перле, который должен просматривать текущий каталог и выводить на экран имена обычных файлов, затем переходит в родительский каталог и делает тоже самое, пока не упрется в домашний каталог.
Вот код
http://paste.org.ru/?1t6yv6Вроде все просто, не сложная рекурсия, проверяю чем является файл c помощью (-f "$i"), но при это корректный вывод происходит только в 1м вызове. (Список имен файлов для каждого каталога генерируется верно)
===directory is /home/Loss/Документы/sfolder/IT/second ===
.directory
audit.log
out
cat2.pl
aud2.sh
cat2.pl~
aud2.pl
===directory is /home/Loss/Документы/sfolder/IT/ ===
.directory
===directory is /home/Loss/Документы/sfolder/ ===
.directory
===directory is /home/Loss/Документы/ ===
.directory
test
Курсовые.doc
===directory is /home/Loss/ ===
.directory
===directory is /home ===
Во всех остальных директориях есть файлы, но он они этой проверки не проходят. Если вместо -f писать -d, то оно вываливает и файлы и директории.
Собственно, что я делаю не так?) На перле пишу мало, надеюсь на помощь, искал, тестировал, пытался своими силами разобраться, не удалось...
p.s. а и да, ОС - Kubuntu 10.10