Perl可以管理动态结构中的子程序吗?

时间:2012-09-30 20:35:56

标签: perl

我有一组解析函数。其中一些我需要申请,具体取决于具体情况。 我可以管理数组中的函数或Perl中的某些函数,例如像在JS?

2 个答案:

答案 0 :(得分:6)

是的,Perl是一种函数式语言,就像Javascript一样。基本上,您将function替换为sub并省略函数原型。这是一个打印出来的三个潜艇的例子:

my @subs = (
  sub {print "Sub 1\n"},
  sub {my ($arg) = (@_, 2); print "Sub $arg\n"},
  \&my_function
);
sub my_function {
  print "Sub 3\n"
}

foreach my $function (@subs) {
  $function->("Argument");
}

打印

Sub 1
Sub Argument
Sub 3

答案 1 :(得分:3)

是。 Perl中的sub {...}与JavaScript中的function () {...}类似。