Skip to main content

Alles für die Homepage... Scripte, Templates, Workshops und Support

Perl – Bestimmte Dateitypen aus Verzeichnis auslesen

Mitunter kommt es vor das man bestimmte Dateien aus einem Verzeichnis auslesen möchte. Ein Fall für grep.

Verschiedene Beispiele

In diesem Beispiel sollen alle htm und html Dateien aus einem Verzeichnis in ein Array gelesen werden.

CODE:
opendir(DIR,"$pfad") or die "Kann $pfad nicht oeffnen $!n";
@files = grep {/^.*(\.htm$|^.*\.html$)/i} readdir DIR;
closedir(DIR);

Möchte man nur alle gif Dateien eines Verzeichnisses auslesen geht das per

CODE:
opendir(DIR,"$pfad") or die "Kann $pfad nicht oeffnen $!n";
@files = grep {/^.*(\.gif$)/i} readdir DIR;
closedir(DIR);

Will man einfach nur alle Dateien auslesen ändert man obigen Code so:

CODE:
opendir(DIR,"$pfad") or die "Kann $pfad nicht oeffnen $!n";
@files = grep {!/^(.|..)$/} readdir DIR;
closedir(DIR);

Das Array @files kann man dann in einer Schleife nutzen um die Dateien auszugeben.

Oder aber man gibt die gefundenen Verzeichnisinhalte sofort aus

CODE:
opendir(DIR,"$pfad"); 
for $dateien (grep {!/^(.|..)$/} readdir DIR) {
print" $dateien<br>n";   
}
closedir(DIR);

Weitere Beiträge

Aktuelle Desktop-Betriebssysteme im Vergleich für Webmaster

desktop betriebssysteme vergleich webmaster

Aktuelle Desktop-Betriebssysteme unterscheiden sich für Webmaster vor allem bei Entwicklungs-Tools, Sicherheit, Automatisierung und Kosten. Entscheidend ist weniger das „schnellste“ System, sondern welches Betriebssystem den eigenen Web-Workflow am effizientesten unterstützt. Webmaster arbeiten typischerweise mit Code-Editoren, Browser-Developer-Tools, lokalen Webservern, Versionsverwaltung und Automatisierungsskripten. Betriebssysteme beeinflussen, wie reibungslos diese Werkzeuge zusammenspielen, wie stabil und sicher sie laufen und wie […]

Interaktiver Businessplaner 2026 für Kindle Scribe – Planen, Ziele erreichen, Erfolg steigern

Immer mehr Menschen möchten sich online ein nachhaltiges Einkommen aufbauen. Digitale Geschäftsmodelle bieten heute viele Chancen mit vergleichsweise geringem Startkapital. Etsy‑Shop‑Betreiber, digitale Nomaden und Online‑Autoren verfolgen dabei klare wirtschaftliche Ziele.  Ohne strukturierte Planung bleibt langfristiger Erfolg jedoch meist dem Zufall überlassen. Ein digitaler Businessplaner auf dem Kindle Scribe bringt die gewünschte Lösung. Für eine minimale […]

Windows 11 Shortcuts: Die wichtigsten Tastaturbefehle für schnelleres Arbeiten

shortcuts tastatur taste tastenkombination windows 11

Profis kennen die wahre Stärke von Tastaturbefehlen unter Windows 11. Wer effizient arbeiten möchte, nutzt Shortcuts statt ausschließlich der Maus. Windows 11 bietet zahlreiche neue Funktionen mit passenden Tastenkombinationen. Microsoft setzt weiterhin konsequent auf bewährte und neue Shortcuts. Diese Befehle gehören fest zum Betriebssystem und steigern die Produktivität spürbar.

Amazon Black Friday Woche 2025: Große Rabatte bei Audible, Kindle Unlimited, Paramount+ und Amazon Hardware

amazon back friday woche angebote 2025

Die Amazon Black Friday Woche 2025 läuft vom 20. November bis 1. Dezember und bringt zahlreiche Sparmöglichkeiten in allen Kategorien. Neben klassischen Produktangeboten profitieren Sie in diesem Jahr besonders von vergünstigten digitalen Abos und Services. Amazon bietet exklusive Rabatte auf Audible, Kindle Unlimited, Paramount+ sowie auf viele hauseigene Amazon-Geräte. Damit wird die Vorweihnachtszeit ideal für Technik- und Medienfans, die kräftig […]


Ähnliche Beiträge



Kommentare

Dr. Harald Kollmann 28. Januar 2022 um 20:00

Nettes Beispiel!
Eine kleine Anmerkung: die o.G: Beispiele blenden alle Dateien aus, deren Name ein oder zwei Zeichen lang ist.
um nur . und .. aus zu blenden müsste man . ( irgendein Zeichen ) durch vorangestellten \ zu \. = Punkt ersetzen: grep {!/^(\.|\.\.)$/}
grep { !/^\.{1,2}$/} oder grep {!/^[.]{1,2}$/} oder ähnlich tut es auch.

Antworten

Du hast eine Frage oder eine Meinung zum Artikel? Teile sie mit uns!

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