in reply to qq question

qq (...) quotes everthing between delimiters, but you knew that. Perl is keeping track of the parentheses nesting depth, so there is something like this going on:
$string = qq( # start the quote func(1 # push down to second level ln( # push down to third level e) # pop up to second level ); # pop up to first level ); # finish the quote
After all, Perl's parser has to do something similar with an equation such as
$a = $b + $c * ($d + $e * ($f + $g * ($h +)));

emc