Manfred: suchpostion bei mehrmaliger globaler suche zurücksetzen

Beitrag lesen

Hallo peter

=~ gibt ja bloss wahr oder falsch zurück (und speichert dies in @bild). der wert von (.*?) wird ja in $1 gespeichert; der wird jedoch nirgendwo abgegriffen.

Nein, in solchen Fällen werden die Ergebnisse nicht nur in $1, $2,... zurückgeliefert, sondern auch als return-Wert(e), was innerhalb eines if als true gilt (schlägt das Regex fehl, wo wird nichts zurückgeliefert, was im if einem false entspricht).

zB:
$a = "abc";
($x) = $a =~ /^.(b)/;

$1 = "b"

$x = "b"

($x,$y) = $a =~ /^(a)(b)/;

$1 = "a", $2 = "b"

$x = "a", $y = "b"

und wenn unbekannt ist, wieviel zurückkommt dann eben
zB.
@ret = $a =~ /./g;

Schau Dir am besten 'mal die Perldokumentation perlre an.

Manfred