Consider...
my %addrbook = $*IN.lines.map( { .split(/\s+/, 2) } ); for %addrbook.classify({ .value.substr(0,1).uc }).sort -> $g { say "{$g.key}:"; .say for $g.value».invert».fmt(" %-32s %s"); }
...and we're done!
Perl 6 | Cool Perl 6 | #47 |
my %addrbook = $*IN.lines.map( { .split(/\s+/, 2) } ); for %addrbook.classify({ .value.substr(0,1).uc }).sort -> $g { say "{$g.key}:"; .say for $g.value».invert».fmt(" %-32s %s"); }
...and we're done!
Copyright © 2010 http://www.pmichaud.com/2010/pres/ |