list.pl
my @array1 = qw ( l2 l3 l4 l5 );
my @array2 = qe ( l6 l2 l3 );
Pgm.pl
use list.pl
print @array1;
有可能吗?
答案 0 :(得分:3)
尝试require,require 'list.pl'
。
您可能还需要将范围前缀my
更改为更全局的内容。
答案 1 :(得分:1)
如果你需要做这样的事情,你应该设置一个模块:
List.pm
:
package List;
use Exporter;
our @ISA = 'Exporter';
our @EXPORT = qw(@array1 @array2);
our @array1 = qw(12 13 14 15);
our @array2 = qw(16 12 13);
Pgm.pl
:
use List;
print @array1;
但总的来说,最好使用完全限定名称对其进行编码(不再需要Exporter
):
use List ();
print @List::array1;
或者创建一个存取方法:
List.pm
:
package List;
my @array1 = qw(12 13 14 15); # my makes these arrays private to this file
my @array2 = qw(16 12 13);
sub array1 {\@array1} # accessor methods provide ways to change your
sub array2 {\@array2} # implementation if needed
Pgm.pl
:
use List;
my $array1 = List->array1;
print @$array1;