http://qs321.pair.com?node_id=963042


in reply to Sub ref from string without eval

I would convert "Foo" to \&Foo without using an eval by using a closure:
#!/usr/bin/perl -l use strictures 1; use Devel::SimpleTrace; sub Foo { use strict 'refs'; use warnings; my $x = shift(); return sub { my $y = shift(); print "$x, $y!"; } } use strict 'refs'; my $h = Foo("Hello"); my $g = Foo("Goodbye"); print &$h("Bar"); print &$g("Baz");