I think you need something more like:
#! perl -w use strict; use Date::Calc qw(Delta_Days); my $outfile = 'new_logfile.txt'; my ($yr, $mo, $day) = qw/2006 1 1/; open OUT, ">", $outfile or die "Cannot open $outfile:$!\n"; while (<DATA>) { my ($line_year, $line_mon, $line_day) = /(\d{4})-(\d{1,2})-(\d{1,2}) +/; ## you need the date, unless you can rely on ordered dates. ## Your sample suggests they're unordered, so I'm going with that. ## if they're ordered, there are easier ways to do this my $delta_days = Delta_Days($line_year,$line_mon,$line_day,$yr,$mo,$ +day); print $delta_days; next if $delta_days > 0; print OUT $_; } close OUT; __DATA__ TICKETHELP###,########,1234567###,2004,X,Y,35.00###,2004-5-2 17:44:44, +TICKETHELP###########1234567###2005XY356.00###,World Cup List,John Ma +rck TICKETHELP###,########,1234567###,2005,X,Y,16.00###,2005-3-8 17:44:44, +TICKETHELP###########1234567###2005XY356.00###,World Cup List,John Ma +rck TICKETHELP###,########,1234567###,2006,X,Y,23.00###,2006-1-3 17:44:44, +TICKETHELP###########1234567###2005XY356.00###,World Cup List,John Ma +rck TICKETHELP###,########,0933456###,2005,X,Y,33.00###,2005-5-7 17:44:44, +TICKETHELP###########1234567###2005XY356.00###,World Cup List,John Ma +rck TICKETHELP###,########,1234567###,2005,X,Y,87.00###,2005-5-4 17:44:44, +TICKETHELP###########1234567###2005XY356.00###,World Cup List,John Ma +rck TICKETHELP###,########,1984567###,2005,X,Y,32.00###,2005-3-8 17:44:44, +TICKETHELP###########1234567###2005XY356.00###,World Cup List,John Ma +rck TICKETHELP###,########,1234567###,2005,X,Y,67.00###,2006-5-2 17:44:44, +TICKETHELP###########1234567###2005XY356.00###,World Cup List,John Ma +rck TICKETHELP###,########,1223698###,2000,X,Y,79.00###,2000-1-1 17:44:44, +TICKETHELP###########1234567###2005XY356.00###,World Cup List,John Ma +rck TICKETHELP###,########,1299n67###,2001,X,Y,26.00###,2001-5-5 17:44:44, +TICKETHELP###########1234567###2005XY356.00###,World Cup List,John Ma +rck
produces:
TICKETHELP###,########,1234567###,2006,X,Y,23.00###,2006-1-3 17:44:44, +TICKETHELP###########1234567###2005XY356.00###,World Cup List,John Ma +rck TICKETHELP###,########,1234567###,2005,X,Y,67.00###,2006-5-2 17:44:44, +TICKETHELP###########1234567###2005XY356.00###,World Cup List,John Ma +rck
from your data. You could also modify this to do other things like pick a specific date in the past or accept an argument as a date. I'd also suggest you look into zipping your files (it's not hard to do with perl, and can save a lot of space).



-----------------
s''limp';@p=split '!','n!h!p!';s,m,s,;$s=y;$c=slice @p1;so brutally;d;$n=reverse;$c=$s**$#p;print(''.$c^chop($n))while($c/=$#p)>=1;

In reply to Re: Deleting lines prior to a date! by SamCG
in thread Deleting lines prior to a date! by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.