Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re^4: The purpose of prototypes in perl subroutines

by brian_d_foy (Abbot)
on Apr 13, 2005 at 17:36 UTC ( [id://447529]=note: print w/replies, xml ) Need Help??


in reply to Re^3: The purpose of prototypes in perl subroutines
in thread The purpose of prototypes in perl subroutines

Just because someone says something doesn't make it true. This isn't just semantics, either.

Perhaps you give us the reference where you found Nat talking about this sort of prototype (article name or page number would work). IF you are talking about the "Cryptocontext" article, I think you've misunderstood something.

--
brian d foy <brian@stonehenge.com>
  • Comment on Re^4: The purpose of prototypes in perl subroutines

Replies are listed 'Best First'.
Re^5: The purpose of prototypes in perl subroutines
by jjhorner (Hermit) on Apr 13, 2005 at 17:41 UTC
    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
    

      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>

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://447529]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others sharing their wisdom with the Monastery: (2)
As of 2024-04-26 00:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found