while ( ) { next unless m/id=345677/; my ( $count ) = /(\d+)/; ( substr($_, 0, 5) = sprintf( "%5d", $count + 1 ) ) =~ s/ /-/g; my ( $sec ,$min ,$hour ,$mday ,$mon ,$year ) = localtime; my $date = sprintf "%02d.%02d.%4d", $mday, $mon, $year + 1900; my $time = sprintf "%02d:%02d:%02d", $hour, $min, $sec; s/\d\d\.\d\d\.\d\d\d\d/$date/; s/\d\d:\d\d:\d\d/$time/; print; } __DATA__ ----0---m---28.07.2007---23:13:18---rest---id=123456 ----9---a---28.07.2007---23:13:46---rest---id=345677 ----0---a---28.07.2007---23:13:57---rest---id=876543 #### ---10---a---29.07.2007---11:36:05---rest---id=345677