my $n = 5; my %hash; @hash{ 0..20 } = 100..120; delete @hash{ (keys %hash)[$n..(scalar keys %hash)] };