[Date Prev][Date Next][Thread Prev][Thread Next] [Search] [Date Index] [Thread Index]

Re: [FWP] Sort challenge



> Greetings all:
> 
> Given the following data:
> 
> __DATA__
> ae|Evans|Anne
> le|Evans|Louise
> he|Evans|Helen
> je|Evans|
> pete||Peter
> xs|Sanchez|
> rwj||
> est||
> 
> 1) If there's a last name, the program should sort first by that and then by the firstname (if there is one);
> 2) If no last name, then sort by first name;
> 3) If neither last nor first name, then sort by username
> 
> So the desired result is:
> 
> est
> Evans
> Evans, Anne
> Evans, Helen
> Evans, Louise
> Peter
> rwj
> Sanchez
> 
[snip]

$,=$/;print sort{lc$a cmp
lc$b}map{@a=split/[|\n]/;$a[1].($a[1]&&$a[2]&&', ').$a[2]||$a[0]}<DATA>

98 characters...

John Borwick
NCSU.pm



==== Want to unsubscribe from Fun With Perl?  Well, if you insist...
==== Send email to <fwp-request@technofile.org> with message _body_
====   unsubscribe