# 'C'|'B'|'f', durch 'K' ersetzen # Hashslice für die Ersetzungen anlegen my %hx = (); @hx{unpack "UUU", "CBf"} = unpack "UUU", "KKK"; my $string = "abcdefABCDEF"; # Array mit den Codepoints erzeugen my @cps = unpack "U*", $string; # nun gehts durch das Array # Ersetzen ab bestimmter Position z.B. 3 foreach my $i (3 .. scalar @cps -1 ){ $cps[$i] = $hx{$cps[$i]} || $cps[$i]; } # Ergebnis $, = "\n"; print $string, pack("U*", @cps); abcdefABCDEF abcdeKAKKDEF