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?
|