Hi,
da $1 offenbar den Wert des zuletzt gefundenen Matches behält - auch in foreach - muss ich wohl anders vorgehen:
foreach my $shopid(1..5){ my $pattern = "<Katalog Shopid="$shopid">.*?</Katalog>"; print "Suche: $pattern \n"; $xml =~ /($pattern)/ ? print "$1 \n" : print "nix gefunden\n" }
Und siehe da: Freude
Mit freundlichen Grüßen
Jens Puruckherr