Okay, Page 20, "Computer Science & Perl Programming", edited by Jon Orwant, Chapter 3, article title is Perfect Programming.
I'm not making this up:
Quote: When it's in effect, you can't use the bareword style of calling subroutines with no arguments (e.g. $result = mysub;) unless the subroutine was declared before its use, either with a prototype or with the subroutine definition itself.
EndQuote:
use strict 'subs';
print count; # an error with use strict 'subs'
sub count; # prototyping count() is sufficient
print count; # Not an error because Perl now knows about count()
J. J. Horner
CISSP,CCNA,CHSS,CHP,blah,blah,blah
| [reply] [d/l] |
The part that you called "prototyping" before is just the subroutine's forward definition. He gives two things there that get around 'use strict', and the one you used wasn't the one with prototypes.
The very first example in perlsub tells you which one you used:
To declare subroutines:
sub NAME; # A "forward" declaration.
sub NAME(PROTO); # ditto, but with prototypes
--
brian d foy <brian@stonehenge.com>
| [reply] [d/l] |