代码之家  ›  专栏  ›  技术社区  ›  averlon

Perl模块文件::修改的参数文件

  •  0
  • averlon  · 技术社区  · 2 年前

    的文档 File::Modified 说:

    my $d = File::Modified->new(files=>['Import.cfg','Export.cfg']);
    

    这个 files 参数在我看来是一个数组。

    为什么我不能直接交出一个数组?

    my $d = File::Modified->new(files=>@array);
    

    这会产生运行时错误。

    0 回复  |  直到 2 年前
        1
  •  3
  •   toolic    2 年前

    这个 files 参数不是数组;它是一个 参考 到数组。
    这个 File::Modified POD 说:

    Files ,它获取对要监视的文件名的数组引用。

    这就是为什么不能简单地传递这样的数组变量。

    这个 square brackets 创建对数组的引用,该引用与数组不同。

    作为 perlref 文档显示,引用数组的一种方法是使用反斜杠:

    my $d = File::Modified->new(files => \@array);