I'm not sure I parsed your question correctly. How do you tell if sub_two is a "help" sub? What is a "help" sub? What do you need to call all of the subs in @children? This anonymous subroutine in sub_two? And when you say "all of the subs", you mean sub_one and sub_two, yes?

So basically, the problem is that you need this subroutine sub_two to be able to access @children, yes?

In your other question, a poster discussed the use of a simple block to wrap around your functions:

{ my @children = ( ... ); sub sub_two { ... } foreach my $child (@children) { if ($child->(...)) { ... } else { ... } } }
So long as the subroutine in question is declared within the same lexical scope as the variable, you're OK. This may mean you need to move 'my @children = (...)' higher up in your file, or use our instead of my as you suggest.

After that, you can execute these subroutines in any fashion, and they'll still end up seeing the same variables in the same lexical scope.


In reply to Re: help with scoping (code), part 1 by Fastolfe
in thread help with scoping (code), part 1 by deprecated

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • 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:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.