my @animals = ( "bear<1>\n", "camel<0> <2>\n", "<2>horse\n", "duck<3>\n" ); my @changeTo = ( 'A', 'B', 'C', 'D' ); my @toFind = ( '<0>', '<1>', '<2>', '<3>' ); @hs{@toFind}= (@changeTo); foreach $anm (@animals) { $anm =~ s/$_/$hs{$_}/g, for(keys %hs); print "$anm"; }