Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

(elbie 2): What does this warning mean?

by elbie (Deacon)
on Aug 17, 2001 at 18:26 UTC ( #105680=note: print w/ replies, xml ) Need Help??


in reply to Re: (elbie): What does this warning mean?
in thread What does this warning mean?

I was unaware that one could run into problems using the object orientet syntax. I went and looked in the Perl Cookbook, but all I saw was a line that recommended the "procedural farmat for casual use", but it didn't really give me much of a reason for it.

I don't have access to Object Oriented Perl. What sort of dangers are you referring to?

elbieelbieelbie


Comment on (elbie 2): What does this warning mean?
Re: (elbie 2): What does this warning mean?
by davorg (Chancellor) on Aug 17, 2001 at 19:03 UTC

    In the Cookbook, it's page 446 "A Warning on Indirect Object Notation" and in OOP it's pp98-101 "Another way to call a constructor".

    To summarise, there are two problems with it:

    1. The classname in method CLASS must be a bare symbol, a block or a scalar variable. It can't be just any old scalar expression. This can lead to surprising parsing.
    2. Perl needs to guess whether the method is, in fact, a method or a function. It can sometimes get this wrong. Particularly if your method has the same name as a function in your main package.

    In general it will work fine, but the times that it won't work are so difficult to keep a track of that it's best to never use it. There's no good reason not to use the alternative CLASS->method syntax, so I see it as a good habit to get into.

    --
    <http://www.dave.org.uk>

    Perl Training in the UK <http://www.iterative-software.com>

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (6)
As of 2015-07-03 20:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (56 votes), past polls