Off topic but cc'd to the list to save dupes!...
Anthony Gardner wrote:
Well, it wasn't obvous to me. So, what does sub{}
actually do?
It simply creates a sub but just doesn't give it a name, and it has a
'return value' which is a code ref. Try to imagine normal subs as
simply assigning a code ref to a constant name (confused yet?)
but my problem involved a ref to a class and a
function name which I haven't seen documented.
Right, forget what you learned in C++ classes... in Perl an object
method is simply a sub with the object ref passed automatically as the
first parameter, so
$self->method($arg) is the same as &method($self,$arg)
Time to RT(F)M at this point, start with 'man perltoot' :)
Once you realise how simply perl handles subs, objects etc it all
becomes clear and easy.
hope this helps,
John
Unless s.o. can point me to the right place.
Thanks for the tip and any more info on what is
actually happening when we invoke sub{} would be
great.
-Ants
--- John ORourke <[EMAIL PROTECTED]> wrote:
Anthony Gardner wrote:
and I need a code ref. The thing is, I can't make a
code ref out of ....
$self->method_to_invoke( $arg1, $arg2 );
I'm going to get into trouble for stating the
obvious here but have you
tried:
$code_ref = sub { return shift->method_to_invoke( @_
) }
(ie. create a new anonymous method which is just a
wrapper for your
method - if your method is really quick and you're
iterating *lots* it
may affect timing a little)
John
___________________________________________________________
How much free photo storage do you get? Store your holiday
snaps for FREE with Yahoo! Photos http://uk.photos.yahoo.com
|