in reply to Month '-1' out of range 0..11
If the time in the file is more then 15 minutes ago keep the file else next. NOTE: I prefer nowadays to use date::manip due to flexibility.#!/usr/bin/perl use Date::Manip; $val = "<MessageDateTime v=\"2014-03-18T15:41:14Z\" \/\>"; ($ftime) = ($val =~ /\=\"(.*)\"/); print "FTIME: \"$ftime\"\n"; $ftime =~ s/\T/ /; print "FTIME: \"$ftime\"\n"; $parse = &ParseDate($ftime); print "PARSE: \"$parse\"\n"; $eptime = UnixDate($parse, "%s"); print "EPTIME: \"$eptime\"\n"; $ct = 0; $ct = 15; $septime = undef; $time = undef; $septime = UnixDate(ParseDate("$ct minutes ago"), "%s"); print "$ct MINUTES AGO: \"$septime\"\n"; if($eptime > $septime) { print "EPTIME: \"$eptime\" IS MORE THEN SEPTIME \"$septime\".. KEEP +FILE\n"; } else { print "EPTIME: \"$eptime\" IS -NOT- MORE THEN SEPTIME \"$septime\".. + NEXT\n"; } OUTPUT: FTIME: "2014-03-18T15:41:14Z" FTIME: "2014-03-18 15:41:14Z" PARSE: "2014031811:41:14" EPTIME: "1395157274" 15 MINUTES AGO: "1395163449" EPTIME: "1395157274" IS -NOT- MORE THEN SEPTIME "1395163449".. NEXT
|
---|