Entdecken Sie Perls File::Find-Modul

Wenn die Subroutine aufgerufen wird, befindet man sich tatsächlich in dem jeweils in der Variablen $File::Find::dir gespeicherten Verzeichnis. Wie man in Listing C sehen kann, wendet unsere Subroutine reguläre Ausdrücke auf die Variable $_ an, um mithilfe einer if-Anweisung nach all den Dateinamen zu suchen, wie wir sie vorhin festgelegt haben.

Wenn der Dateiname in $_ (dem standardmäßigen Mustererkennungsraum) auf einen der fünf regulären Ausdrücke in der if-Anweisung passt, wird der darunter stehende Code-Block ausgeführt. Die regulären Ausdrücke sind recht einfach. Das „.“ bezeichnet einen echten Punkt, d.h. er hat nicht die Spezialbedeutung wie sonst bei regulären Ausdrücken. Das Zeichen „“ dient dazu, dieser Spezialbedeutung zu „entkommen“ (escape). Das „$“ markiert einen Treffer am Ende der Zeichenfolge, ein „^“ passt auf den Zeilenanfang. Tabelle A ordnet die Dateien, die wir finden wollen, ihren jeweiligen regulären Ausdrücken zu.

Tabelle A  
Datei mit der Endung .zip /.zip$/
Datei mit der Endung .tmp /.tmp$/
Datei mit der Endung .TMP /.TMP$/
Datei, die mit ~ anfängt /^~/
Datei mit der Endung .chk /.chk/

Beachten Sie, dass das Skript nach dem kleingeschriebenen tmp und dem großgeschriebenen TMP sucht. Aus Effizienzgründen könnte man die Dateinamen in Großbuchstaben umwandeln und nur nach TMP suchen.

Und schließlich nutzt das Skript die stat()-Funktion, um die Menge des belegten Plattenplatzes in Bytes von allen Dateien anzugeben, die einer der Bedingungen der if-Anweisung entsprechen. Wenn die Bedingung zutrifft, speichert das Skript den Wert in der Variablen $size und addiert ihn zu der Zählvariablen $ByteCount, wie der folgende Code-Ausschnitt zeigt:


$ByteCount += $size;

Um das Skript auf Ihrem Rechner laufen zu lassen, geben Sie den folgenden Befehl an der Eingabeaufforderung ein:


Perl diskrpt.pl

Dabei wird vorausgesetzt, dass Sie den Perl-Interpreter in Ihre PATH-Variable aufgenommen und das Skript unter dem Namen Diskrpt.pl gespeichert haben. Das Ergebnis wird an der Eingabeaufforderung im DOS-Fenster angezeigt.

In weiteren Artikeln werde ich Ihnen Modifikationen des Skripts vorstellen – wie man bspw. bestimmte Dateien löschen oder die gefundenen Dateien an andere Programme übergeben kann.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Entdecken Sie Perls File::Find-Modul

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *