in reply to sorting string
Try this:
print "$_\n" for sort { $b <=> $a } ( $string1, $string2, $string3 )
Note, this illustrates the contortions you put yourself through by using variables such as $string1, $string2, and $string3 when you really ought to be using a proper array such as @strings. Look at how the snippet improves if you use a proper array:
print "$_\n" for sort { $b <=> $a } @array;
It could also be written as:
print map { "$_\n" } sort { $b <=> @a } @array;
Or even...
{ local $, = "\n"; print( sort( { $b <=> $a } @array ), '' ); }
By the way; the title to your question, "Sorting strings" seems to be a misnomer, since in your question you seem to be asking how to sort numeric values. Maybe I've missed the point. But if you're trying to sort ascii-betically (instead of numerically), use the cmp operator instead of <=>. This and more is discussed in sort.
Dave
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: sorting string
by Anonymous Monk on Aug 28, 2005 at 08:09 UTC | |
by davido (Cardinal) on Aug 28, 2005 at 16:29 UTC |
In Section
Seekers of Perl Wisdom