$text =~ tr/ab/xy/;
Also a durch x und alle b durch y ersetzen, ob er das wirklich will?
Ich hatte es schon mitgelesen, aber aus seiner Fragestellung läßt sich genau das schließen.
Hier mein Beispiel (die Zahlen könnten beliebige Zeichen sein):
<code>
$text = "111ab222ab333ab444";
while ($text =~ /(.*?)ab([^ab]*)/)
{
$text2 .= $1.'xy'.$2;
}
</code>
$text2 sollte dann so aussehen: "111xy222xy333xy444". Es dürfen also keine Zeichen verloren gehen, auch die am Schluss nicht. :)
#!/usr/bin/perl -w
use strict;
my $text = "111ab222ab333ab444";
my $text2 = $text;
$text2 =~ tr/ab/xy/;
print "$text\n$text2";
führt absolut zu dem von ihm gewünschten Ergebnis.
Struppi.