Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

graff's scratchpad

by graff (Chancellor)
on Jun 02, 2004 at 01:42 UTC ( #358966=scratchpad: print w/replies, xml ) Need Help??

@sorted = map { s/^\S+ // } sort map { my ( $x ) = ( /^_(\S+)/ ) ? ( $1 ) : ( /(\S+)$/ ); "$x $_" } @unsorted;
Explanation (going upwards from the bottom, which is how it works):
  1. The first map block (the one on the bottom) creates a lexically scoped variable $x, and assigns a single non-whitespace token (string) to it. The value of $x depends on whether $_ (the current string from @unprocessed that map is handling) begins with "_". If it does, $x gets the first token of the line (minus the "_"), otherwise, it gets the last token.
  2. Each iteration of the first map outputs the string "$x $_"
  3. The sort works in the normal way, working on the modified list of strings
  4. The second map block (at the top) reprocesses the sorted list of strings, by undoing the work of the first one, by removing the initial token from each item.

An adaptation of a code snippet from LadyAleena's scratchpad:

elsif ($type =~ /name/) { for ( $c, $d ) { my $x = ( /^_(.*)/ ) ? $1 : substr( $_, rindex( $_, ' ' )) +; $_ = "$x $_"; } return $c cmp $d; }
Log In?
Username:
Password:

What's my password?
Create A New User
Chatterbox?
shmem bows. Thank you
[marto]: slowclap.gif
[marto]: animated gif in question...
[1nickt]: Interesting article on the Coming Software Apocaplyse that I found while following one of eyepopslikeamosqui to's posts. Posits that no one can guarantee the quality of, or even understand, the 100 million lines of code in a mo
[holli]: you know, monk days are fun and all. but too many of them are bad for your health
[1nickt]: ...modern car. Suggests using TLA+ or other software modeling language to autogenerate code.
1nickt is not sure more and more layers separating the programmer from the program is the right way to go...
[holli]: happy one, shmem ;)
[1nickt]: I had an interview couople of weeks ago, heard from a principal engineer that a friend of his who works at The Google told him that the self-teaching software that determines the dynamic pricing for their adverts...
[1nickt]: ... has become so complex that there is no one at the Goole who knows what it does.

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (10)
As of 2017-11-21 12:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:













    Results (301 votes). Check out past polls.

    Notices?