use warnings; use strict; use Data::Dumper; my %hash = ( output1 => 'on', output2 => 'on', output3 => 'on', announcement => 'test', ); $hash{$_} = $hash{announcement} for keys %hash; delete $hash{announcement}; print Dumper(\%hash);