Perl: Wie kann man File :: Find rekursiv stoppen?

Ich habe nach Perls gesuchtFile::Find Modul und versuchte es auf folgende Weise:

#!/usr/bin/perl

use warnings;
use strict;

use File::Find;

find({wanted => \&listfiles,
        no_chdir => 1}, ".");


sub listfiles{
    print $File::Find::name,"\n";
}

Wenn ich es jetzt laufen lasse, erhalte ich die folgende Ausgabe:

Noob@Noob:~/tmp$ perl test.pl 
.
./test.txt
./test.pl
./test1.txt
./hello
./hello/temp.txt

Nun, ich dachte das durch Einstellenno_chdir=>1 Ich werde meinen Code so einstellen, dass er kein Verzeichnis eingibt, wenn er auf eines stößt. Aber die Ausgabe zeigt deutlich, dass mein Code eingibthello Verzeichnis und Auflistung seiner Dateien.

Wie ändere ich meinen Code so, dass er sich so verhält?ls und kein Verzeichnis eingeben. Auch ich bekomme./ Kann das vor meinen Datei- / Verzeichnisnamen entfernt werden?

Ich benutze Perl 5.14.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage