in reply to Matching nested begin/ends
($re=$_)=~s/((begin)|(end)|.)/${['(','']}[!$2]\Q$1\E${[')','']}[!$3]/g +s; $re = join'|',map quotemeta,eval{/$re/}; $re = qr/$re/;
In Section
Cool Uses for Perl
in reply to Matching nested begin/ends
($re=$_)=~s/((begin)|(end)|.)/${['(','']}[!$2]\Q$1\E${[')','']}[!$3]/g +s; $re = join'|',map quotemeta,eval{/$re/}; $re = qr/$re/;