Возможно ли как-то заставить его работать рекурсивно?
Пока я сделал временный скрипт, но че-то он не хотит работать как надо, заходит в первый же подкаталог, там других каталогов нет, но после выхода из него дальше листинг каталогов уже не идет. Я так подозреваю что дело в chdir, но вроде сделал что при выходе из подкаталога текущий каталог снова сменяется на старый, все равно не помогает. Что не так?
sub ScanDirs {
my ($path,$prev_path) = @_;
opendir FDIR, $path;
chdir $path;
readdir FDIR; readdir FDIR;
while (my $name = readdir FDIR)
{
if (-d $name)
{
ScanDirs($path.$name."/",$path);
}
}
chdir $prev_path;
closedir FDIR;
}
Дааа, и еще вопрос не в тему, когда я делаю use strict, то если переменная объявлена в другом файле, который я потом делаю require в основном скрипте, то при первом обращении к этой переменной выдается ошибка requires explicit package name, хотя переменная объявляется как надо - через my.