perl - Perl 可以在动态结构中管理子程序吗?

标签 perl

我有一组解析函数。其中一些我需要申请,具体取决于上下文。 我可以在数组或 Perl 中管理函数吗?像在 JS 中一样?

最佳答案

是的,Perl 和 Javascript 一样是一种函数式语言。基本上,您将 function 替换为 sub 并省略函数原型(prototype)。以下是三个打印输出内容的示例:

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

关于perl - Perl 可以在动态结构中管理子程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12664906/

相关文章:

perl - 我应该在 Perl 中转义 shell 参数吗?

perl - 为什么我的 Perl 脚本没有使用所有 CPU 内核?

mysql - 如何使用 MySQL 在 perl 中使用连接池?

regex - 如何在 Perl 中实现 Unix grep?

windows - 为什么我在 Windows 上运行 Perl one liner 时出现“找不到字符串终止符 "'”错误

perl - 如果文件不存在,为什么我到 zcat 的 Perl 管道不会死?

perl - 何时调用@INC 中的子例程引用?

string - 当 $STRING 以 "\t\t"结尾时,如何让 split(/\t/, $STRING) 检测空值?

linux - 使用 sudo 作为另一个用户运行时的 Perl 系统调用

regex - 简单的 perl 正则表达式搜索替换脚本