my %h = qw( 1 2 3 4 5 6 ); my %rev_h = reverse %h; use Data::Dumper; print Data::Dumper::Dumper(\%h,\%rev_h); __DATA__ $VAR1 = { '1' => '2', '3' => '4', '5' => '6' }; $VAR2 = { '6' => '5', '4' => '3', '2' => '1' };