Hallo,
$feld =~ s/(?<!$var)${var}{$times}(?=[^$var])/$1$Ersatztext$2/g;
.....
$1 und $2 sind aber gar nicht bekannt!?Weil solche Konstrukte mit einem Fragezeichen am Anfang nur gruppiert, jedoch nicht gemerkt werden.
Hierzu zwei Fragen:
1. Wie erhalte ich dann in diesem Falle die Strings vor und nach dem gefundenen Muster?
2. Statt $feld = /(?<!X)X{$times}(?=[^X])/;
kann man offensichtlich schreiben:
my $pat = qr/(?<!X)X{$times}(?=[^X])/;
$feld =~ $pat;
Wie verhält es sich bei einem Ausdruck der Art "s/....../g"?
Wenn ich pragmatisch ran ginge hieße es ja:
my $pat = qrs/....../g;
nämlich qr gefolgt von dem reg. Ausdruck.
Das kann aber sicher nicht sein, allerdings
my $pat = qr~s/....../g~;
ist es wohl auch nicht.
Gibt es da auch wieder einen Trick?
Einen erholsamen Sonntag ohne dumme Fragesteller (außer mir) wünsche ich euch.
Gerd