Perl: Jak zatrzymać plik :: Znajdź wpisujący katalog rekurencyjnie?
Patrzyłem na PerlaFile::Find
moduł i wypróbowałem go w następujący sposób:
#!/usr/bin/perl
use warnings;
use strict;
use File::Find;
find({wanted => \&listfiles,
no_chdir => 1}, ".");
sub listfiles{
print $File::Find::name,"\n";
}
Teraz, gdy go uruchomię, otrzymuję poniższe dane wyjściowe:
Noob@Noob:~/tmp$ perl test.pl
.
./test.txt
./test.pl
./test1.txt
./hello
./hello/temp.txt
Teraz myślałem o tym, ustawiającno_chdir=>1
Sprawię, że mój kod nie wejdzie do żadnego katalogu, jeśli trafi na jeden. Ale wyjście wyraźnie pokazuje, że mój kod wchodzihello
katalog i lista jego plików.
Jak więc zmienić swój kod, aby zachowywał się jakls
i nie wprowadzaj żadnego katalogu. Dostaję też./
przed moimi plikami / katalogami można je usunąć?
Używam Perla 5.14.