gpt4 book ai didi

arrays - 从 perl 模块文件访问全局数组

转载 作者:行者123 更新时间:2023-12-02 07:02:35 26 4
gpt4 key购买 nike

我有下面的 arraytest.pm

package arraytest;

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

我正在尝试从不同的 perl 脚本中获取值

use arraytest;

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

我没有打印任何内容,也没有错误。请告诉我引用数组是否正确?

提前致谢

最佳答案

你的数组语法错误。

Perl 没有数组文字。它有

  • 列表:1、2、3、4
  • 数组引用文字:[1, 2, 3, 4]
  • 哈希引用文字:{1 => 2, 3 => 4}

哈希和数组可以通过分配列表来初始化。

相反,您将数组初始化为包含一个散列引用作为第一个元素。这相当于

my %hash = (1 => 2, 3 => 4);
our @myarray = (\%hash);

你本来想做的是

our @myarray = (1, 2, 3, 4);  # parens needed because of precedence

our @myarray = 1 .. 4;

哦,请不要为您的包使用小写名称。这些是为影响编译的实用模块保留的,例如strictfeature

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

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com