以下の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";
}
Ps: 上記は通常、適切な方法ではありません。代わりにオブジェクトを使用してください。
編集 - @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";
}
}