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

Re^2: Preferred technique for named subroutine parameters?

by LanX (Saint)
on May 23, 2009 at 15:13 UTC ( [id://765834]=note: print w/replies, xml ) Need Help??


in reply to Re: Preferred technique for named subroutine parameters?
in thread Preferred technique for named subroutine parameters?

> a warning is issued at the point of invocation.

well the argument in PPP is much stronger, the warning is issued at compile-time !!!

The point of invocation can still be found out in run-time, e.g. with carp like already discused!

But a run-time-error can happen years after you wrote and sold the code ...

Cheers Rolf

Replies are listed 'Best First'.
Re^3: Preferred technique for named subroutine parameters?
by AnomalousMonk (Archbishop) on May 23, 2009 at 22:12 UTC
    ... the argument in PPP is much stronger, the warning is issued at compile-time !!!
    My PBP (1st English ed., printed July 2005, which seems from the O'Reilly website info to be the latest English edition and printing) does say (pg. 183, 2nd para.) "... will be reported (usually at compile time) in the caller's context ...", but I don't see how this is so. (I have also checked the on-line errata list and there is no correction of this statement.)

    Certainly the malformed function call
       func_1({ one => 'uno',  two => 'dos',  three => });
    from my example code in Re: Preferred technique for named subroutine parameters? does compile and only warns at run time.

    Can you give an example of a compile time error associated with this invocation format, or any explanation or example of what Conway was referring to?

    But a run-time-error can happen years after you wrote and sold the code ...
    True, but if it does happen years after I wrote and sold the code, cashed the check, spent the money and moved to another state ...
    Update: "edition" -> "edition and printing" in para. 1.
      Hi

      Certainly the malformed function call func_1({ one => 'uno', two => 'dos', three => }); from my example code in Re: Preferred technique for named subroutine parameters? does compile and only warns at run time.

      Can you give an example of a compile time error associated with this invocation format, or any explanation or example of what Conway was referring to?

      Wow, no! And I have troubles to imagine a construction where you get a compile-time error/warning for a anonymous hash which wouldn't also be thrown in a simple parameter list!

      I simply trusted TheDamian, in my a German copy the passage first says something like "(normally during compilation)" and four lines later it contrast the counterexample with "only at run-time".

      The example given is certainly a run-time warning in both cases!

      Maybe you should open a new thread and ask the community for wisdom.

      Cheers Rolf

      UPDATE: concerning PPP

      For those who might think "Pest" means "Best" in German, no it doesn't! Both words have identical meanings and spelling in either language, it's a joke in the current German edition, which accidentally got printed on the backcover! 8 )

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (3)
As of 2024-03-29 02:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found