That's a pretty unusual way to use reverse. You'll get away with it as long as your values are all unique, but if any two values are the same, one will get clobbered. Also, since you swapped the keys and values that way before doing your sort, your sort is actually sorting by your words, which used to be your keys and are now your values.
So in my opinion, reversing the hash, even if you know your values are unique, is confusing and unnecessary. Just sort your original hash by the values, and stop after the 20th one.
my %top_words;
$top_words{chr(64+$_)x4} = $_ for (1..26); # fill hash with some word/
+number pairs
my $counter = 1;
for my $word (sort {$top_words{$b} <=> $top_words{$a}} keys %top_words
+){
print "$word\n";
last if $counter++ == 20;
}
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|