If it's a logfile, then one would
assume that the entries are in chronological order (although you sample data isn't).
Anyway, if that's the case, you could simply open the file, then read it line-by-line using the diamond operator (<>). Skip every line until you reach the date you are interested in, and then print the remaining lines to another (new) file.
Something like this (untested):
#!/usr/bin/perl -w
use strict;
my $infile = 'some_logfile';
my $outfile = 'new_logfile';
my $datematch = qr(2005-5-3); # or whatever
open IN, "<", $infile or die "Cannot open $infile:$!\n";
open OUT, ">", $outfile or die "Cannot open $outfile:$!\n";
while (<IN>) {
next if !/$datematch/;
print OUT $_;
}
close IN;
close OUT;
Cheers,
Darren :)