##
my %HoHCopy;
foreach my $k ( keys %HoH )
{
if ( $HoH{$k} and values %{$HoH{$k}} )
{
$HoHCopy{$k} = $HoH{$k};
}
}
####
my %HoHCopy = map
{ $_ => $HoH{$k} }
grep {
$HoH{$_} and values %{$HoH{$_}}
} ( keys %HoH );
# or
my %HoHCopy = map
{
($HoH{$_} and values %{$HoH{$_}})
? ($_ => $HoH{$k})
: ()
} ( keys %HoH );