Named functions all have the same visibility. Their bindings for lexicals get created at compilation time, so the inner function can't share the lexical bindings of the outer function. (This is a huge oversimplification, but is essentially true as far as it matters now.)
One way to alleviate this is to introduce a lexical scope external to both function4 declarations:
{
my ($v1, $v2);
sub outer_function { ... }
sub inner_function { ... }
}
Otherwise you could make inner_function() an anonymous function so that it always binds those two lexicals to the current lexical scope of outer_function().
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.