You want the msg ids sorted in order of their "from" or "to" values, right? If so, here's some example code to sort them based on their associated "from" values.
my @sorted_ids = sort {$mailarray{$a}{"from"} cmp $mailarray{$b}{"from +"}} keys %mailarray;

If your list is large, you may want to make this a bit faster with a Schwartzian Transform.

Two minor things I noticed: I think you'll need to get rid of the ,/ after $to on the fourth line to get your code to run. Also, you're always adding a space to the "to" value even if the "to" value was previously empty. Instead, you may want to check to make sure there is already something there before adding a space separator, maybe like this (although it's kind of ugly and I'm not sure whether you need to worry about the value existing but being undefined, or being defined and empty):

$mailarray{$msgid}{"to"} .= (exists $mailarray{$msgid}{"to"} and length $mailarray{$msgid}{"to +"} ? " " : ""). $to if ($msgid, $to) = ... # your regex here

-- Mike

--
just,my${.02}


In reply to Re: Sorting hashes on non-keys by thelenm
in thread Sorting hashes on non-keys by Anonymous Monk

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.