Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
sub hello_world
{
print "hello_world\n";
}
my $some_sub_link1 = main->can("hello_world");
&$some_sub_link1;
my $some_sub_link2 = \&hello_world;
&$some_sub_link2;
my %allow_subs = (
hello_world => \&hello_world,
H => \&hello_world,
bla_bla => \&bla_bla,
B => \&bla_bla,
combo1 => sub { hello_world();
hello_world();
bla_bla();
},
);
my $user_cmd = 'combo1';
#if ( my $user_cmd = shift @ARGV )
if ( $user_cmd )
{
if ( my $sub = $allow_subs{$user_cmd} )
{
&$sub;
}
else
{
warn "Unknown command [$user_cmd]";
}
}
my $sub = __PACKAGE__->can(shift) || die; $sub->();
Вызов пользовательской функции в Perl из переменной