我有下面的arraytest.pm

package arraytest;

our @myarray = {"1", "2", "3", "4"};

我试图从不同的Perl脚本中获取值
use arraytest;

foreach (@arraytest::myarray) {
  print "$arraytest::myarray\n";
}

我什么也没打印,也没有错误。请让我知道引用数组是否正确?

提前致谢

最佳答案

您尝试实现以下目标:

use 5.012;
use warnings;

package MyArr;
our @arr = (1..10);

package main;
for (@MyArr::arr) {
    say "$_";
}

#or like above with a helper variable
for my $val (@MyArr::arr) {
    say "$val";
}

附言:以上通常不是一个好习惯。改用对象。

编辑-@dave的评论
use 5.012;
use warnings;

package MyArr {
    our @arr = (1..10);
}

package main {
    for (@MyArr::arr) {
        say "$_";
    }

    for my $val (@MyArr::arr) {
        say "$val";
    }
}

关于arrays - 从Perl模块文件访问全局数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17911955/

10-12 19:47