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.
Vernetzte Produkte müssen laut Cyber Resilience Act über Möglichkeiten zur Datenverschlüsselung und Zugangsverwaltung verfügen.
Das jüngste Update für Windows, macOS und Linux stopft drei Löcher. Eine Anfälligkeit setzt Nutzer…
Zwei von Google-Mitarbeitern entdeckte Schwachstellen werden bereits aktiv gegen Mac-Systeme mit Intel-Prozessoren eingesetzt. Sie erlauben…
Die Hintermänner haben es unter anderem auf Daten von Facebook-Geschäftskonten abgesehen. Opfer werden über angebliche…
Bis 2027 werden 90 Prozent der Unternehmen eine Hybrid-Cloud-Strategie umsetzen.
Apple belegt in der Statistik von Counterpoint die ersten drei Plätze. Samsungs Galaxy S24 schafft…