Unterscheiden zwischen einer Datei und einem Verzeichnis in Perl

Angenommen, Sie erstellen ein Perl-Skript, um ein Dateisystem zu durchlaufen und aufzuzeichnen, was es findet. Wenn Sie Dateihandles öffnen, müssen Sie wissen, ob es sich um eine tatsächliche Datei oder um ein Verzeichnis handelt, das Sie anders behandeln. Sie möchten ein Verzeichnis globalisieren, damit Sie das Dateisystem weiterhin rekursiv analysieren können. Der schnellste Weg, um Dateien aus Verzeichnissen zu unterscheiden, ist die Verwendung des integrierten PerlDateitestoperatoren. Perl verfügt über Operatoren, mit denen Sie verschiedene Aspekte einer Datei testen können. Der Operator -f wird verwendet, um reguläre Dateien anstelle von Verzeichnissen oder anderen Dateitypen zu identifizieren.

Zuerst erstellen Sie zwei Saiten: einer zeigt auf eine Datei und einer zeigt auf ein Verzeichnis. Als nächstes testen Sie die $ Dateiname mit dem -f Operator, der prüft, ob es sich bei einer Datei um eine Datei handelt. Dies wird "Dies ist eine Datei" drucken. Wenn Sie den Operator -f für das Verzeichnis versuchen, wird er nicht gedruckt. Dann machen Sie das Gegenteil für die

instagram viewer
$ Verzeichnisname und bestätigen Sie, dass es sich tatsächlich um ein Verzeichnis handelt. Kombinieren Sie dies mit ein Verzeichnis glob um herauszufinden, welche Elemente Dateien und welche Verzeichnisse sind: