0
list.pl如何使用其他文件陣列中的程序
my @array1 = qw (l2 l3 l4 l5);
my @array2 = qe (l6 l2 l3);
Pgm.pl
use list.pl
print @array1;
這可能嗎?
list.pl如何使用其他文件陣列中的程序
my @array1 = qw (l2 l3 l4 l5);
my @array2 = qe (l6 l2 l3);
Pgm.pl
use list.pl
print @array1;
這可能嗎?
嘗試require,require 'list.pl'
。 您可能還需要將範圍前綴my
更改爲更全局的東西。
如果你需要做這樣的事情,你應該建立一個模塊:
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;
是'qe'一個錯字?它應該是'qw'嗎? – toolic 2011-02-25 15:20:14
不直接。 「my」的重點在於無法訪問超出範圍的變量。 – mob 2011-02-25 16:22:45