Does your format example say Jan 9 or Sep 1? Whichever it is, transform to iso standard format (YYYY-MM-DD) and dictionary sort,
The maps surrounding the sort routine serve to reduce the number of calls to to_iso(). That pattern is called the Schwartzian Transform, an idiom worth understanding.sub to_iso { join '-', reverse split '-', shift; # otherwise, # join '-', (split '-', shift)[2,0,1]; } sub from_iso { join '-', reverse split '-', shift; # otherwise, # join '-', (split '-', shift)[1,2,0]; } # @data is all your records as an AoA my @sorted = map { $_->[7] = from_iso($_->[7])} sort {$a->[7] cmp $b->[7]} map { $_->[7] = to_iso($_->[7])} @data;
After Compline,
Zaxo
In reply to Re: Sorting a textfile by a date field
by Zaxo
in thread Sorting a textfile by a date field
by bionicle32
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |