Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: Sort on boredom

by petral (Curate)
on Mar 23, 2001 at 22:46 UTC ( #66696=note: print w/replies, xml ) Need Help??


in reply to Sort on boredom

Just for the heck of it:
#!/usr/bin/perl -w use Data::Dumper; $Data::Dumper::Indent = 1; @vals = qw( 1 2 3 1 3 3 3 43 bob 2 bob 6 2 ); my @sorted = sort { $#$b <=> $#$a or $a cmp $b } keys %{{ map { @$_ = ( @$_, $_ ); $_ => 1 } @vals }}; print Data::Dumper->Dump([\@sorted], ['*sorted']);
or as a 1-liner:
perl -le '$,=", ";print sort { $#$b <=> $#$a or $a cmp $b}'\ -e 'keys %{{ map {@$_ = (@$_, $_); $_=>1} @ARGV}};'\ 0 _ __ 0 __ __ 0 0 00 @ % $ % ^ ^_ result-> 0, __, %, $, 00, @, ^, ^_, _


p

Replies are listed 'Best First'.
(Ovid) Re(2): Sort on boredom
by Ovid (Cardinal) on Mar 23, 2001 at 23:44 UTC
    Heh. Awesome answer. You have convinced me that having temp variables can easily be clearer than an obsessive desire to eliminate "extraneous" code :)

    Cheers,
    Ovid

    Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.

      Well, it did answer your question:
      Is there any way of eliminating the temporary variable %freqs?
      But it does add as many 'intermediate' arrays as there are uniq values. I guess that's not what you had in mind. Oh, well.

      p

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (5)
As of 2020-12-01 03:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?