Andi123: Regex, wie gehts?

Beitrag lesen

Ich moechte von einer Nummer, wenn bei dieser nach einer beliebigen Anzahl von Nullen eine 3,4,5 oder 6 folgt, diese folgende Ziffer auch durch eine Null ersetzen.

Dazu wollte ich diesen Befehl nehmen:

$k=~s/(^0*)3|4|5|6/$10/;

Nur geht das nicht, da PERL ja nicht $1 und '0' einsetzt, sondern die Variable '$10' als Ersatz nimmt.
Ist diese leer,ist der ganze Anfang des Strings weg.

Funktionieren tut aber z.b.:

$k=~s/(^0*)3|4|5|6/$1 0/;

Nur habe ich jetzt in der Zahl ein Leerzeichen.
Das will ich auch nicht (okay, ich koennte das dann auch wieder rausnehmen).

Aber gibt es nicht einen Weg, wie ich das erledigen kann, ohne den Umweg, das zusaetzliche Zeichen wieder einzusetzen?

Danke Andi