On Monday 27 September 2010 12:21:51 hpant pant wrote:
> Hi ,
> can anyone explain me, how below code works ,dealing with nested patterns.
> i am not able to understand the ((?:(?!BEGIN)(?!END).)*)  part.
> 
> while (s/BEGIN((?:(?!BEGIN)(?!END).)*)END//gs) {
>               # do something with $1
>               }

?! is a zero-width negative look-ahead assertion (see 
http://perldoc.perl.org/perlre.html although it's not very accessible). I 
believe what the pattern means is to match everything between BEGIN and END 
which does not contain either "BEGIN" or "END".

Regards,

        Shlomi Fish

-- 
-----------------------------------------------------------------
Shlomi Fish       http://www.shlomifish.org/
My Favourite FOSS - http://www.shlomifish.org/open-source/favourite/

<rindolf> She's a hot chick. But she smokes.
<go|dfish> She can smoke as long as she's smokin'.

Please reply to list if it's a mailing list post - http://shlom.in/reply .

-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to