#I get this my @array = qw(aaa-aaa bbb-bbb ccc-ccc); my @newarray = map { $_ =~ s/-/_/g } @array; print Dumper(@array); my $AoH_orig = [ { 'title' => 'aaa-aaa', 'name' => 'tom' }, { 'title' => 'bbb-bbb', 'name' => 'kathy' }, { 'title' => 'ccc-ccc', 'name' => 'bill' } ]; # how i would do it "long hand" for ( 0 .. $#$AoH_orig ) { $AoH_orig->[$_]{'title'} =~ s/-/_/g; } #try mapping my $AoH_new = map { $AoH_orig->[$_]{'title'} =~ s/-/_/g } @$AoH_orig; #or my $AoH_new = map { $_->{'title'} =~ s/-/_/g } @$AoH_orig; print Dumper($AoH_orig);