use strict; use warnings; my ($ordner)="daten_2/"; my ($ausgabe)="result/"; my ($m,$gmd,$gmd3,$name); my (@files)=(); opendir DIR,$ordner; @files = readdir(DIR); closedir(DIR); foreach $m (@files) { next if $m =~ /\.$/; open FH,$ordner.$m or die "Fehler beim oeffnen von $m\n"; print "verarbeite $m ...\n"; while() { chomp; $gmd=substr($_,0,4); if ( !$gmd3 ) { #am Anfang... $gmd3=$gmd; open (GM,">>".$ausgabe.$gmd ); } if ( $gmd eq 'ENDE') { #Ende Kennung muss zum letzten Block $gmd=$gmd3; } if ( $gmd3 ne $gmd ) { #neue Station... close(GM); $gmd3=$gmd; open (GM,">>".$ausgabe.$gmd ); } print GM $_."\n"; } close(GM); close(FH); }