$ cat pm_1055846_name_id_data.txt
bananas 456
oranges 23
peaches 897236
kiwis 3726
banana 25
bana 20
bana-na 15
na 10
####
$ cat pm_1055846_name_replace_data.txt
bananas,oranges
peaches,peaches,peaches
kiwis
oranges
kiwis,oranges,bananas,bananas
bananas,oranges,pineapples,peaches,kiwis
bana-na,banana
ba-na-na,bana-bana,bana-nana
####
$ cat pm_1055846_name_replaced_out.txt
456,23
897236,897236,897236
3726
23
3726,23,456,456
456,23,pineapples,897236,3726
15,25
ba-10-10,20-20,20-nana
####
my $re = '\b(' . join('|', keys %id_for) . ')\b';
####
my $re = '\b(' . join('|', sort { $b cmp $a } keys %id_for) . ')\b';
####
$ cat pm_1055846_name_replaced_out.txt
456,23
897236,897236,897236
3726
23
3726,23,456,456
456,23,pineapples,897236,3726
15,25
ba-na-na,bana-bana,bana-nana
####
my $re = '\b(' . join('|', keys %id_for) . ')\b';
####
my $re = '(^|,)(' . join('|', sort { $b cmp $a } keys %id_for) . ')(?=,|$)';
####
s/$re/$id_for{$1}/g;
####
s/$re/$1$id_for{$2}/g;