in reply to hash 2 array ?

A nice and lazy approach (i.e the perl approach ;) would be to use Tie::IxHash, which will keep a tied hash in order for you e.g
use Tie::IxHash; my %th; tie %th => "Tie::IxHash", qw/ foo bar baz quux /; print %th, $/; @th{qw/one three/} = qw/two four/; print %th, $/; __output__ foobarbazquux foobarbazquuxonetwothreefour
And you'll see the contents of the hash have stayed nicely ordered, all thanks to Tie::IxHash.
HTH

_________
broquaint