Think of a subroutine as a small script on its own. Like a script, you can write a subroutine, but if you want it to do something you'll have to explicitely run it. Merely writing a script isn't going to get you anywhere - you have to run your script. The same goes for subroutines - you can write one but if you never run it, nothing happens.

Compare (and run) these two simple examples:

# Having a cake... sub hello { print "Hello!\n"; }

and

# Having a cake... sub hello { print "Hello!\n"; } # And eating it, too! hello;

The way you wrote your script, you are merely having the cake but you never eat it. The code inside the numbers subroute (which purpose it is to populate the array) is never executed, hence the array being empty at your final print statement.


In reply to Re^5: recursive. again. by muba
in thread recursive. again. by derpp

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.