in reply to Ref to Method?
First, note that \&Foo::new is wrong for methods. It'll break if the method is inherited. That's why can should be used instead.
How do you get a ref to a method
my $method_ref = $obj_or_class->can('method');
or even just
my $method_name = 'method';
You call it as follows:
$obj_or_class->$method_ref()
$obj_or_class->$method_name()
It seems you might actually want to get a code reference to a method call. Yes, the following is necessary, because you can't get a code reference to an operator. They have insufficient information to be executed.
$ref = sub { $obj_or_class->new(@_) }
|
|---|