use Data::Dump qw( dump ); my %hash = ( 1 => "Piker", 2 => "Vin", 3 => "Sang" ); my %revhash; @revhash{ values %hash } = keys %hash; print dump( \%hash ), "\n"; print dump( \%revhash ), "\n";