#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my %hash = ( 'key1' => 'test1', 'key2' => 'test2', 'key3' => 'test3', ); print Dumper \%hash; %hash = map { y/key[0-9]/alt[0-9]/r => $hash{$_} } keys(%hash); print Dumper \%hash; __END__ $ perl test.pl $VAR1 = { 'key2' => 'test2', 'key1' => 'test1', 'key3' => 'test3' }; $VAR1 = { 'alt3' => 'test3', 'alt2' => 'test2', 'alt1' => 'test1' };