in reply to How to convert a symbolic reference to a hard reference

Creating symbolic references to a subroutine is fine, just not accessing them symbolically e.g
use strict; sub foo { print "in foo(@_)"; } my $f = \&{"foo"}; $f->("var"); ## or more succinctly (\&{"foo"})->("temp"); __output__ in foo(var) in foo(temp)
And the bizarre error is due to eval trying to execute the return of M::y(), which is the return value of print.
HTH

_________
broquaint