perl - 这个 Perl 脚本实现了什么?

标签 perl

我正在阅读由其他人编写的 Perl 脚本,但我对 Perl 不太熟悉,所以有人可以让我知道前三行是做什么的吗?

my $ref = do($filename);
$ref != 0 or die "unable to read/parse $filename\n";
@varLines=@{$ref};
foreach $ord (@varLines)
{
    # code here
}

这是在程序开头的$filename之后设置为获取命令行参数

传递给此脚本的文件格式为
[
  {
    "Key1" => "val1",
    "key2" => " "A",
  },
  {
    "Key3" => "val2",
    "key4" => " "B",
  },
]

最佳答案

它这样做:

  • my $ref = do($filename)执行名为 $filename 的文件中的 Perl 代码( ref ) 并分配给 $ref文件中最后一个命令的值
  • $ref != 0 or die …如果 $filename 中的最后一个命令打算中止没有成功(请参阅下面的评论进行讨论)
  • @varLines=@{$ref};假设 $ref是对数组的引用并初始化 @varLines到该数组的内容
  • foreach $ord (@varLines) { … }为数组中的每一项执行一些代码,调用每个 $ord在循环期间

  • 至关重要的是,这完全取决于名称在 $filename 中的文件中的内容。 .

    关于perl - 这个 Perl 脚本实现了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1744340/

    相关文章:

    perl - 如何检测标准输出是否连接到 Perl 中的 tty?

    perl - Perl 中的对称和传递自定义单位转换

    perl - 在 Cacti 中从 Perl 脚本和图形创建和更新 RRD

    regex - 搜索非 ASCII 文档

    perl - 在 Perl 中导出变量是一种好习惯吗?

    javascript - WWW::使用 Javascript 实现 Mechanize 工作

    wordpress - WooCommerce IPN 通知

    perl - 服务器如何知道关闭网站选项卡时关闭websocket的连接

    perl - 使用 SSH,从另一个 perl 文件远程执行 perl 文件并传递包含空格的参数的最佳方法是什么?

    perl - 有没有办法检查参数是否用单引号引起来?