I want to call a method on a package name generated from a variable. I think I've done this before but it appears I have forgotten how. Here's the broken version of what I'm trying to achieve.
my $var = 'Page';
my $p = My::Package::$var->new();
I want to call a method on a package name generated from a variable. I think I've done this before but it appears I have forgotten how. Here's the broken version of what I'm trying to achieve.
my $var = 'Page';
my $p = My::Package::$var->new();
I was able to get this working using answer at Perl, dynamically include package
my $module_name = 'Some::Module';
(my $require_name = $module_name . ".pm") =~ s{::}{/}g;
require $require_name;
my $obj = $module_name->new();