#!/usr/bin/perl $eingabe_endung = ".txt"; $ausgabe_excel = ".xls"; $ausgabe_ceda = ".csv"; @parameter = ('Raw', 'Normal'); #Verzeichnis einlesen opendir(IN, "./in/"); @dateien = readdir(IN); closedir(IN); foreach $datei(@dateien) { print $datei,"\n"; if ($datei eq '.' || '..') { shift @dateien; } $datei =~s/\.txt//g; } #Nebenprogramme #Maske erstellen sub vergleich { $vergleich = shift; foreach $parameter (@parameter) { if ($parameter eq $vergleich) { $rueckgabewert = 1; } else { $rueckgabewert = 0; } } } #Daten in Ausgabearray schreiben sub elemente_uebernehmen { if ($zaehler == 1) { shift @eingabe; } else { push(@ausgabe,shift(@eingabe)."\t"); #\t Tabulator als Trennelement für Excelausgabe } } #Hauptprogramm foreach $dateiname(@dateien) { $counter == 1; @ausgabe = undef; @spalten = undef; open (EINGABE, "./in/$dateiname".$eingabe_endung) or die "Fehler beim öffnen der Datei $!\n"; open(AUSGABEXLS, ">./out/$dateiname".$ausgabe_excel) or die "Fehler beim öffnen der Datei: $!\n"; while () { chomp(@eingabe = split(/\t/)); print $counter,"\n"; if ($counter == 1) { foreach $datensatz (@eingabe) { $rueckgabewert = 0; &vergleich($datensatz); if ($rueckgabewert == 1) { push(@spalten, 0); } else { push(@spalten, 1); } } $counter++; } elsif ($counter > 1) { foreach $zaehler (@spalten) { &elemente_uebernehmen($zaehler); } $counter++; push(@ausgabe, "\n"); } } print AUSGABEXLS @ausgabe; close (EINGABE) or die "Fehler beim schließen der Datei $!\n"; close (AUSGABEXLS) or die "Fehler beim schließen der Datei: $!\n"; }