Hi,
use strict;
use warnings;
my $teststring = "xaysdfasldfasfxbyoiuwrwerx1yasdfsadfsadf";
while ($teststring =~ m~\Gx(.)y~g)
{
print "found $1 between x and y \n";
}
sollte m.E. ausgeben:
found a between x and y
found b between x and y
found 1 between x and y
Leider wird aber nur
found a between x and y
ausgegeben.
Ohne das \G bekomme ich endlos
found a between x and y
found a between x and y
found a between x and y
ausgegeben, weil das Matching immer wieder am Stringanfang beginnt - ist ja auch logisch.
Das \G sollte eigentlich dafür sorgen, daß beim zweiten Mal eben nicht am Stringanfang, sondern nach dem ersten Match zu suchen begonnen wird.
Aber es wird kein zweites Mal gematcht.
Und das verstehe ich nicht.
Kann mir bitte jemand auf die Sprünge helfen?
Danke,
cu,
Andreas
--
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.