Perl Verzeichnisoperationen

Im Folgenden sind einige Standardfunktionen für Verzeichnisoperationen aufgeführt:

opendir DIRHANDLE, EXPR  # 打开目录
readdir DIRHANDLE        # 读取目录
rewinddir DIRHANDLE      # 定位指针到开头
telldir DIRHANDLE        # 返回目录的当前位置
seekdir DIRHANDLE, POS   # 定位指定到目录的 POS 位置
closedir DIRHANDLE       # 关闭目录

Alle Dateien anzeigen

Alle Dateien im Verzeichnis anzeigen. Das folgende Beispiel verwendet den glob-Operator, wie unten gezeigt:

Beispiel

#!/usr/bin/perl # Alle Dateien im Verzeichnis /tmp anzeigen $dir = "/tmp/*"; my @files = glob( $dir ); foreach (@files ){ print $_ . "\n"; } # Alle Dateien anzeigen, die im Verzeichnis /tmp mit .c enden $dir = "/tmp/*.c"; @files = glob( $dir ); foreach (@files ){ print $_ . "\n"; } # Alle versteckten Dateien anzeigen $dir = "/tmp/.*"; @files = glob( $dir ); foreach (@files ){ print $_ . "\n"; } # Alle Dateien in den Verzeichnissen /tmp und /home anzeigen $dir = "/tmp/* /home/*"; @files = glob( $dir ); foreach (@files ){ print $_ . "\n"; }

Das folgende Beispiel kann alle Dateien im aktuellen Verzeichnis auflisten:

Beispiel

#!/usr/bin/perl opendir (DIR, '.') or die "Verzeichnis kann nicht geöffnet werden,$!"; while ($file = readdir DIR) { print "$file\n"; } closedir DIR;

Wenn Sie alle Dateien anzeigen möchten, die mit .c im Verzeichnis /tmp enden, können Sie den folgenden Code verwenden:

Beispiel

#!/usr/bin/perl opendir(DIR, '.') or die "Verzeichnis kann nicht geöffnet werden,$!"; foreach (sort grep(/^.*\.c$/,readdir(DIR))){ print "$_\n"; } closedir DIR;

Ein neues Verzeichnis erstellen

Wir können diemkdir-Funktion verwenden, um ein neues Verzeichnis zu erstellen. Vor der Ausführung benötigen Sie ausreichende Berechtigungen, um das Verzeichnis zu erstellen:

Beispiel

#!/usr/bin/perl $dir = "/tmp/perl"; # Erstelle das Perl-Verzeichnis unter /tmp mkdir( $dir ) oder die "Kann das Verzeichnis$dirnicht erstellen,$!"; print "Verzeichnis erfolgreich erstellt\n";

Ein Verzeichnis löschen

Wir können diermdir-Funktion verwenden, um ein Verzeichnis zu löschen. Für diesen Vorgang sind ausreichende Berechtigungen erforderlich. Darüber hinaus muss das zu löschende Verzeichnis ein leeres Verzeichnis sein:

Beispiel

#!/usr/bin/perl $dir = "/tmp/perl"; # Lösche das Perl-Verzeichnis unter /tmp rmdir( $dir ) or die "Kann nicht löschen$dirVerzeichnis,$!"; print "Verzeichnis erfolgreich gelöscht\n";

Verzeichnis wechseln

Wir können diechdir-Funktion verwenden, um das aktuelle Verzeichnis zu wechseln. Zum Ausführen dieses Vorgangs sind ausreichende Berechtigungen erforderlich. Beispiel:

Beispiel

#!/usr/bin/perl $dir = "/home"; # Das aktuelle Verzeichnis nach /home wechseln chdir( $dir ) or die "Kann nicht in das Verzeichnis wechseln:$dir , $!"; print "Ihr aktuelles Verzeichnis ist$dir\n";

Beim Ausführen des obigen Programms lautet das Ausgabeergebnis:

你现在所在的目录为 /home
Weitere Erweiterungen