(?!) ist eine negative Lookahead-Sequenz
Den hab ich nicht gekannt. Das ist die Lösung, danke!
(?!) ist in selfhtml leider auch nicht beschrieben, (?:) allerdings schon.
Aber wenn Du einfach nur ab durch xy erstetzen willst, kannst Du ja auch einfach $text =~ s/ab/xy/g;
Scherzkeks. :) Das war doch nur ein Beispiel für was hochkomplexes.