2

以下のarraytest.pmがあります

package arraytest;

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

そして、別のperlスクリプトから値を取得しようとしています

use arraytest;

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

何も印刷されず、エラーもありません。配列の参照が正しいかどうか教えてください。

前もって感謝します

4

3 に答える 3

0

あなたは次のようなことを達成しようとしています:

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";
    }
}
于 2013-07-28T19:45:53.473 に答える