use strict; use warnings; use Tie::IxHash; tie my %h, 'Tie::IxHash', (a => 1, b => 2, c => 3); warn $_ for keys %h; # prints in assigned order sub printh { my %x=@_; warn $_ for keys %x; # prints in scattered order! } printh(%h);