The order that things are returned by keys(), values(), or list-context %hash is not sorted in any particular way, and depends on how things happen to be stored in the hash. There are Tie modules on CPAN that will enable you to always get things back in a particular sorted order, or in insertion order, but only at the cost of slowing down all accesses to the hash. Usually if you want some particular order, you sort the returned keys:
for $key (sort {$a <=> $b} keys %sortListArr) ...
or
for $key (sort {$sortListArr{$a} cmp $sortListArr{$b}}
keys %sortListArr) ...