my %filter_map = ( ... ); my $filter = q{}; if ($filter_clean) { my @filter_split = split //, $filter_clean; for my $fc (@filter_split) { if ( $fc =~ /\d/ ) { $filter .= $fc; } else { $filter .= $filter_map{ uc $fc }; } } } say $filter; #### my %map = ( ... ); $map{$_} = $_ for 0..9; my $numeric; for (split //, uc($word)) { $numeric .= $map{$_}; } say $numeric; #### my %map = ( ... ); $map{$_} = $_ for 0..9; my $numeric = join '', map $map{$_}, split //, uc($word); say $numeric;