in reply to Re^3: Emulating 'sort' command through a Perl
in thread Emulating 'sort' command through a Perl

Thanks Marshall for sharing your time & your wonderful notes...

  • Comment on Re^4: Emulating 'sort' command through a Perl

Replies are listed 'Best First'.
Re^5: Emulating 'sort' command through a Perl
by Marshall (Canon) on Oct 31, 2009 at 10:02 UTC
    You are most welcome! On another point...white space is the easiest thing that you can do to enhance code readability and understandability.

    Consider this re-formatted code with just white space added... Now it is clear that the "map{}sort{}map{}<>" "stack" feeds the "for" loop. The "for" is iterating on the list provided by the map { $_->[0] } which is the end result of the 4 lines in this map{}sort{}map{}<> "stack" (which is actually just one line). When that whole thing is nicely indented, it is easier to see. Human eyeballs work best vertically, not diagonally.

    for ( map { $_->[0] } sort { $a->[1] cmp $b->[1] } map { [$_, (split)[$column_number] ] } <> ) { print unless $_ eq $prev; $prev = $_; }
    This "for" statement is the same as:
    for(map{$_->[0]}sort{$a->[1]cmp$b->[1]}map{[$_,(split)[$column_number]]}<>)
    what do you think is easier to read?