#!/urs/bin/perl use strict; use warnings; my $file_in="test.txt"; my $file_out="out.txt"; # Dateien öffnen open(my $fhi, '<', $file_in) or die("Error open $file_in ($!)\n"); open(my $fho, '>', $file_out) or die("Error open $file_out ($!)\n"); # lese Datei zeilenweise while(my $line=<$fhi>) { # auf korrektes Format testen # und gleich das Datum holen next unless $line =~ /<([^>]+)>\w+/; my $date=$1; # Daten zerschneiden # beginnt mit 2004 oder 04 und endet vor 1003 while($line=~s/((?:2004|04).*?)(?=1003)//) { # Häppchen ausgeben print $fho "<$date>$1\n"; } } # Dateien schließen close($fho); close($fhi);