#! perl use strict; use warnings; use Data::Dump; use Hash::MoreUtils qw(safe_reverse); my %t = ( a => 1, b => 2, c => 1, d => 2, e => 1, f => 2 ); dd \%t; my %dup_rev = safe_reverse \%t; dd \%dup_rev; #### 0:56 >perl 729_SoPW.pl { a => 1, b => 2, c => 1, d => 2, e => 1, f => 2 } { 1 => ["c", "e", "a"], 2 => ["b", "d", "f"] } 0:57 >