my %h; @h{ map{ int rand 100 } 1..4 } = 'A'..'D'; print 'Before:', %h, $/; @h{ 1 .. keys %h } = delete @h{ keys %h }; print 'After: ', %h, $/; __END__ Before:25A39D0C23B After: