Hashes have no order. You can't "sort a hash." It's like a big canvas bag filled with all of the key-value pairs. Every time you look, somebody may have shaken the bag.

Arrays have order. You can sort one array and collect the sorted version in another array. It's like a rope upon which all of the elements are tied at various points.

When you say "sort a hash," you really mean, collect the keys or collect some part of the values, and generate a sorted array of those. That is, search through the bag and tie each item onto a rope, until all of the items in the bag are ALSO on the rope.

Often, the first thing you do with this sorted array is to query the hash again, using the sorted array as an ordering guide. That is, following the knots on the rope to visit all of the items in the bag.

I hope the metaphors help.

--
[ e d @ h a l l e y . c c ]


In reply to Re: Re: Re: Re: sort hashes.... by halley
in thread sort hashes.... by sanchez

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.