Выводить элементы хеша в порядке вставки возможно при помощи использования модуля Tie::IxHash:

        use Tie::IxHash;
        tie(%myhash, Tie::IxHash);
        for ($i=0; $i<20; $i++) {
            $myhash{$i} = 2*$i;
        }
        @keys = keys %myhash;
        # @keys = (0,1,2,3,...)

from Daily Perl FAQ