http://qs1969.pair.com?node_id=11140619


in reply to Re^6: Get most recent data based on a date from an array of hashes.
in thread Get most recent data based on a date from an array of hashes.

It doesn't work for MM-DD-YYYY; it seems to work because you've managed to (luckily and/or unintentionally) pick data for which it works. For a counter example look what it'd do to "01-16-2000" and "01-13-2022" sorting newest to oldest. You need to use YMD for lexigraphic sorting to work.

my @d = qw( 01-13-2022 01-16-2000); say for sort { $b cmp $a } @d;

As for the syntax giving you pause, that's just a list slice reordering elements. split(/-/,$a) returns a list of MM, DD, YYYY and then passes the list YYYY, MM, DD to join to be put back together. Search for "Slices" in perldata.

The cake is a lie.
The cake is a lie.
The cake is a lie.