I'm not even sure you need the %testcenters hash (at least not for sorting purposes) because it sounds like you want to sort the test centers by city and for that all you need is the %centercity hash that you've already got. From your code it looks like you've got a series of "parallel hashes" all keyed on the test center name which is your unique identifier. You don't need to change this structure to use something more complicated (like the other fine suggestions given so far) if you don't want to.

Assuming my pile of assumptions are correct, you want something like this:

my @test_centers_sorted_by_city_then_name = sort { $centercity{$a} cmp + $centercity{$b} || $a cmp $b } keys %centercity; for my $center (@test_centers_sorted_by_city_then_name) { print "$center<br>"; # output test center name print "$centercity{$center}<br>"; # output city where test center +is located # ... output other stuff too }

In reply to Re: How to sort a non-unique value within unique values by duff
in thread How to sort a non-unique value within unique values by hmbscully

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.