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.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|