Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re: Reference to a method within Object::InsideOut/parent class

by friedo (Prior)
on Jul 06, 2008 at 04:41 UTC ( #695787=note: print w/replies, xml ) Need Help??

in reply to Reference to a method within Object::InsideOut/parent class

Obviously, I should be able to replace the anonymous subroutine with a straight reference to set_foo.

But then you wouldn't have the object to call set_foo upon. If that's desirable (e.g. set_foo is a class method) then you can reference it with \&Fooclass::set_foo. But it sounds like it's an object method, so you'll need the object to call it on.

If you have the object available outside of your dispatcher's anon subs, then you can just use the actual method name:

my %dispatcher = ( foo => 'set_foo', bar => 'set_bar' ); my $method = $dispatcher{$code}; $self->$method( $parameter );

Replies are listed 'Best First'.
Re^2: Reference to a method within Object::InsideOut/parent class
by dhosek (Beadle) on Jul 06, 2008 at 17:20 UTC
    Yeah, I supose what I can do is have two hashes, since I also need to do some more complicated processing for some of the dispatches.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://695787]
[Corion]: Weird - this "Install our backdoor SDK" spam is persistent. And I get the feeling it's not even automated, as it seems to be a re-forward of each mail, maybe even manually. Ah well, a quick rule in Thunderbird will move them to Spam automatically now :D
[Corion]: (the "backdoor SDK" is for distributing my software with an included backdoor, not for backdooring my own machine)

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (6)
As of 2018-05-25 13:57 GMT
Find Nodes?
    Voting Booth?