my %h_prefixed; my %h_numbers; while(my ($key, $val) = each %h) { $h_numbers{$key} = $val if looks_like_a_number($val); $h_prefixed{$key} = "p$val"; } #### my %h_prefixed; @h_prefixed{keys %h} = map "p$_", values %h;