Pull to refresh

Вызов пользовательской функции в Perl из переменной

Reading time1 min
Views2.5K
Да, понадобилось мне сделать такой изврат. В PHP — это call_user_func().

Учитывая, что в Google я с довольно большим трудом нашёл реализацию (да и не там, где ожидал, а в вызовах), решил опубликовать сюда:

#!/usr/bin/perl -w
use strict;
if(exists $ARGV[0] && exists &{$ARGV[0]}){
    my $func_call = \&{$ARGV[0]};
    &$func_call();
}
sub test{
    print "123\n";
}


соответственно,

./test.pl test выведет 123
./test.pl aaa ничего не выведет

Возможно, кому-то пригодится)
Tags:
Hubs:
Total votes 7: ↑6 and ↓1+5
Comments16

Articles