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

Re: Re: Re: Re: OO Perl: calling a constructor within a class

by runrig (Abbot)
on Sep 26, 2001 at 22:35 UTC ( [id://114902]=note: print w/replies, xml ) Need Help??


in reply to Re: Re: Re: OO Perl: calling a constructor within a class
in thread OO Perl: calling a constructor within a class

if(ref($me) && UNIVERSAL::isa($me,'my_class_name')) {

If you're doing a functional call, then there's no reason for the 'ref($me) &&' in that expression, though I think you get a warning on earlier versions of perl (not sure how early) if '$me' is undefined, so you might say:

if(defined($me) && UNIVERSAL::isa($me,'my_class_name')) {
Then again, you could just leave out the first part and turn off warnings locally :-)

Update: Correction by tye duly noted.
If I could transfer all the votes/XP from this node to yours I would...(maybe it could be a feature that our overworked fearless leader could implement someday :)

Replies are listed 'Best First'.
Re: Re: Re: Re: Re: OO Perl: calling a constructor within a class
by tye (Sage) on Sep 27, 2001 at 21:32 UTC

    No, you need the ref($me) to ensure that $me isn't just some string because UNIVERSAL::isa would then try to use that string as a package name to see if the named package inherits from your class. So to check whether $me is an object, you have to do both.

            - tye (but my friends call me "Tye")

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (6)
As of 2024-04-19 16:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found