use strict; use warnings; use List::Util qw{ max }; use Data::Dumper; my %hashA = ( 11.5 => { 1723478 => 237, 1734789 => 114, 1798761 => 147, }, 11.12 => { 1700123 => 123, }, 11.01 => { 1780345 => 456, }, ); print Data::Dumper->Dumpxs( [ \ %hashA ], [ qw{ *hashA } ] ); delete $hashA{ max keys %hashA }->{ q{1734789} }; print Data::Dumper->Dumpxs( [ \ %hashA ], [ qw{ *hashA } ] );