gudn tach!
der kram laesst sich uebrigens noch ein bissl verschoenern. seit perl 5.10 gibt's den p-modifier, siehe selfhtml-wiki: damit saehe das ganze dann so aus:
while($tmp=~/
(?<!\\)\[ # opening bracket
(?:
[^\[\]] # non-bracket
| # or
(?<=\\)[\[\]] # bracket prefixed by backslash
)+
(?<!\\)\] # closing bracket
/px){
$tmp = ${^PREMATCH}.${^POSTMATCH};
$execute = ${^MATCH};
}
beachte, dass du hierbei voellig ohne capture groups auskommst.
ach so, und es geht uebrigens auch ohne look-arounds:
$tmp=~/
[^\\]\K\[ # opening bracket
(?:
\\[\[\]] # bracket prefixed by backslash
| # or
[^\[\]] # non-bracket
)+
[^\[\]\\]\] # closing bracket
/px
naja, ok, "\K" ist ein spezialfall eines look-behinds, aber ohne den wuerde es halt doch wieder ein bissl unnoetig komplizierter werden.
prost
seth