It works, so long as each element is 0 padded, and you're using consistent delimiters between the two items to be compared. The following won't work:
'2004-9-1' lt '2004-10-1' '2004/09/01' lt '2004-09-01'
I typically get around the second issue by stripping out all non-digits, and then comparing. The first one I haven't found a simple one-line solution for, as I get stuff that's both delimited and run together. If it was always delimited:
sub normalize_date { return join( '', map { sprintf( '%02i', $_ ) } sp +lit (/\D+/, $_[0]) ) } sub compare_dates { return normalize_date($_[0]) cmp normalize_date($_ +[1]) }
hmm ... I guess this _would_ work for me, as the non-delimited stuff I get is always 0 padded.
In reply to Re^2: What is a stringwise operator?
by jhourcle
in thread What is a stringwise operator?
by blahblah
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |