#!/usr/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 =~ /<([^>]+)>([^\r\n]+)/; my ($date,$data)=($1,$2); # Daten zerschneiden # beginnt mit 2004 oder 04 und endet vor 1003 while($data=~s/((?:2004|04).*?)(?=1003)//) { # Häppchen ausgeben print $fho "<$date>$1\n"; } } # Dateien schließen close($fho); close($fhi);