sub mk_kv; sub reverse_hoa; sub mk_kv { return $_[0] => [ @_[1 .. $#_] ]; } sub reverse_hoa { my %hoa = @_; my %reversed; for my $key ( keys %hoa ) { for my $value ( @{$hoa{$key}} ) { push @{$reversed{$value}}, $key } } return %reversed; }