Aus den Daten einer CSV-Datei eine Verzeichnisstruktur erzeugen

Datum: 2004-02-18
Quelle: debian-user-german

Worum ging es?

Eine CSV-Datei enthält Zeilen der Form directory;file;file-content. Daraus sollen die Verzeichnisse und Dateien angelegt sowie der Inhalt in diese Dateien geschrieben werden.

Code
#!/usr/bin/perl
open (FH, "<$ARGV[0]") or die $!;
while (<FH>) {
    chomp;
    @line = split /;/;
    mkdir $line[0];
    open (OUT, ">" . $line[0] . "/" . $line[1]) or die $!;
    print OUT $line[2], "\n";
    close OUT;
 }
close(FH);
Beschreibung

Perl erlaubt eine sehr kompakte Programmierung; besonders dann, wenn es um das Parsen von Textdateien geht. Das ursprünglich vorgeschlagene Perl-Script realisierte das Anlegen der Verzeichnisse und das Schreiben des Inhalts über system()-Aufrufe. Das hat aber den Nachteil, dass je Eingabezeile 2 zusätzliche Prozesse gestartet werden. Ich habe deshalb diese Funktionen über Perl-interne Methoden realisiert.