... how I would know that the map {} sort {} map {} would be executed in reverse order, but I didn't find it. Any clues?
Both map and sort take a list (which is on the RHS), do some transformation of it then return the transformed list (to the LHS).
my @mapped = map { # some transform code } @unmapped; my @sorted = sort { # sorting code } @unsorted;
The ST code is just an extension of this right-to-left pattern:
the first map extracts the sorted dates in the original DD-MM-YYYY format and assigns to the @dates array on the LHS of the assignment operator (=);
but it can't do that before the sort has evaluated, sorting the items;
which in turn can't do any sorting before the bottom (or rightmost) map has transformed some dates into something sort can work with, taking its raw material from the rightmost part of the expression which is the original, unsorted @dates array.
I hope this makes things a bit clearer.
Cheers,
JohnGG
In reply to Re^3: Sorting dates with the Schwartzian Transform
by johngg
in thread Sorting dates with the Schwartzian Transform
by Wobbel
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |