use strict; use warnings; use Data::Dumper; my $h = { a => { c=>"b" }, A => { C=>"B" }, }; delete $h->{a}{c}; delete $h->{A}; print Dumper ($h);