An additional difference is that if you call a sub with foo; (no parens) you're calling it without arguments. (Note that, as jeffa mentions, this call will only work so long as foo has already been defined)

In current versions of perl , &foo; calls foo with the current contents of @_. The difference shows up in the following code:

#!/usr/bin/perl use strict; sub foo { my $name = shift || "anonymous monk"; uc $name; } print foo, "\n"; bar('arturo'); sub bar { print foo, "\n"; print &foo, "\n"; }

when run, this will print "ANONYMOUS MONK" twice, and "ARTURO" once, at the end, because the second call to foo in subroutine bar inherits the argument list passed to bar, while the first doesn't.

HTH

Philosophy can be made out of anything. Or less -- Jerry A. Fodor


In reply to Re: Re: subroutine question by arturo
in thread subroutine question by 2501

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.