http://www.perlmonks.org?node_id=75511

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

I realise I am stupid and shouldn't have been let loose on PERL in a million years but I need help!! Can anyone PLEASE help me with a hash sorting problem I am having?? I will be eternally grateful!!!!!!! I have successfully created a hash containing all the keys and values I want but wish to merely sort the keys into ascending numerical order. Am I doing something wrong with my hash assignment? I cannot quite see why it won't work See excerpt below
foreach $sentence(@sentences) { <BR> $total_sentence +=1; <BR> @words = split(/[^\w'a-zA-Z0-9_'-?]+/,$sentence); <BR> $Counter =0; <BR> foreach $word(@words){ <BR> $Counter+=1; <BR> } <BR> $sentence_count{($Counter)}=$sentence_count{($Counter)}+1;<BR> + } <BR> sort {$a<=>$b} (keys (%sentence_count)); <BR> print ("\nThere are a total of $total_sentence sentences in this text\ +n"); <BR> while (($sentence_count,$word_count) = each(%sentence_count)) { <BR> print ("\nThere are $sentence_count sentences of $word_count words +\n"); <BR> } <BR>