Heim  >  Artikel  >  Backend-Entwicklung  >  So unterscheiden Sie Dateien von Verzeichnissen in Perl

So unterscheiden Sie Dateien von Verzeichnissen in Perl

藏色散人
藏色散人Original
2019-01-21 17:32:416012Durchsuche

Angenommen, Sie erstellen ein Perl-Skript, um ein Dateisystem zu durchsuchen und zu protokollieren, was es findet. Wenn Sie ein Dateihandle öffnen, müssen Sie wissen, ob es sich um eine tatsächliche Datei oder um ein Verzeichnis handelt, das Sie unterschiedlich behandeln können. Sie benötigen ein Verzeichnis, damit Sie das Dateisystem weiterhin rekursiv analysieren können. Der schnellste Weg, eine Datei von einem Verzeichnis zu unterscheiden, ist die Verwendung der in Perl integrierten Dateitestoperation. Perl verfügt über Operatoren, mit denen verschiedene Aspekte einer Datei getestet werden können. Der Operator -f wird verwendet, um reguläre Dateien und nicht Verzeichnisse oder andere Dateitypen zu identifizieren.

So unterscheiden Sie Dateien von Verzeichnissen in Perl

Empfohlene Referenzstudie: „Perl-Tutorial

Verwenden Sie die Datei -f, um den Operator zu testen

#!/usr/bin/perl -w
$filename = '/path/to/your/file.doc';
$directoryname = '/path/to/your/directory';
if (-f $filename) {
print "This is a file.";
}
if (-d $directoryname) {
print "This is a directory.";
}

Erstellen Sie zunächst zwei Zeichenfolgen: eine zeigt auf die Datei und die andere auf das Verzeichnis. Als nächstes wird $filename mit dem Operator -f getestet, der prüft, ob es sich bei etwas um eine Datei handelt.

Dadurch wird „Dies ist eine Datei“ gedruckt. Wenn Sie den Operator -f auf ein Verzeichnis anwenden, wird nichts gedruckt.

Machen Sie dann das Gegenteil für $directoryname und bestätigen Sie, dass es sich tatsächlich um ein Verzeichnis handelt. Kombinieren Sie es mit dem Verzeichnis-Glob, um zu sortieren, welche Elemente Dateien und welche Verzeichnisse sind:

#!/usr/bin/perl -w
@files = <*>;
foreach $file (@files) {
if (-f $file) {
print "This is a file: " . $file;
}
if (-d $file) {
print "This is a directory: " . $file;
}
}

In diesem Artikel geht es darum, wie man Dateien von Verzeichnissen in Perl unterscheidet. Ich hoffe, dass er für Freunde hilfreich ist, die ihn benötigen !

Das obige ist der detaillierte Inhalt vonSo unterscheiden Sie Dateien von Verzeichnissen in Perl. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn