Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^4: Emulating 'sort' command through a Perl

by paragkalra (Scribe)
on Oct 30, 2009 at 20:28 UTC ( [id://804212]=note: print w/replies, xml ) Need Help??


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?

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://804212]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (4)
As of 2024-04-24 03:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found