Entdecken Sie Perls File::Find-Modul

Natürlich bietet auch die interne Suchfunktion von Windows zum Teil diese Funktionalität. Aber ich habe dieses Skript geschrieben, weil man die Dateien auf alle möglichen Arten innerhalb von Perl bearbeiten kann, sobald man sie erst einmal gefunden hat. Man kann jede Datei z.B. öffnen und nach einem bestimmten Muster suchen, man kann sie automatisch löschen oder sie als Input für ein anderes Programm benutzen.

Ich greife dabei auf ein Modul aus der Standardbibliothek von Perl sowie eine Perl-Funktion zurück, so dass Ihnen alle erforderlichen Module zur Verfügung stehen sollten, wenn Sie Perl auf Ihrem Windows-Rechner installieren. (Meine Perl-Version ist die von ActiveState.) Die File::Find-Funktion imitiert den find-Befehl von UNIX und durchläuft einen Verzeichnisbaum. Und so können Sie auf diese Funktion zugreifen:


Find(&yoursubroutine, 'dir1', 'dir2'…);

Sie stellen eine Subroutine bereit – Einzelheiten später – sowie eine Liste der zu durchsuchenden Verzeichnisse. Denken Sie daran, dass diese Verzeichnisse rekursiv durchlaufen werden.

Die andere Methode, die ich verwende ist die stat()-Funktion (ähnlich der gleichnamigen Funktion aus der C-Library), die alle möglichen Informationen über die als Argument übergebene Datei liefert. Listing B zeigt den Zugriff auf diese Methode.

Beachten Sie, dass die Funktion die Werte als Liste zurückgibt. Der einzige Wert, der uns interessiert, ist $size, der die Größe der jeweiligen Datei in Bytes angibt.

Die ganze Arbeit des Utilitys wird in der Subroutine ausgeführt. Sie erinnern sich: Diese wird bei jeder gefundenen Datei aufgerufen. Wir müssen also selber darauf achten, ob die Dateinamen den von uns gesuchten Dateien entsprechen.

Die File::Find-Methode stellt einige Spezialvariablen bereit, in denen bestimmte Informationen zu finden sind:

  • $_ enthält den Namen der aktuellen Datei innerhalb des Verzeichnisses
  • $File::Find::dir enthält den aktuellen Verzeichnisnamen
  • $File::Find::name enthält $File::Find::dir/$_

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Lags beim Online-Gaming? DSL-Vergleich und andere Tipps schaffen Abhilfe

Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…

1 Tag ago

GenKI-Fortbildung immer noch Mangelware

Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…

1 Tag ago

Netzwerk-Portfolio für das KI-Zeitalter

Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…

2 Tagen ago

Internet-Tempo in Deutschland: Viel Luft nach oben

Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.

2 Tagen ago

Erste Entwickler-Preview von Android 16 verfügbar

Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…

2 Tagen ago

Kaspersky warnt vor Cyberangriff auf PyPI-Lieferkette

Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.

2 Tagen ago