Perl 如何在程序中使用其他文件数组
list.plPerl 如何在程序中使用其他文件数组,perl,Perl,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更改为更全局的前缀。尝试,require'list.pl'。 您可能还需要将作用域前缀my更改为更全局的值。如果需要这样做,您应该设置一个模块: List.pm: package List; use Ex
my @array1 = qw ( l2 l3 l4 l5 );
my @array2 = qe ( l6 l2 l3 );
Pgm.pl
use list.pl
print @array1;
可能吗 试试,需要'list.pl'
。
您可能还需要将作用域前缀my
更改为更全局的前缀。尝试,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);
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;
print @array1;
use List;
my $array1 = List->array1;
print @$array1;
但一般来说,最好使用完全限定名对其进行编码(无需使用导出器
):
或创建访问器方法:
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);
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;
print @array1;
use List;
my $array1 = List->array1;
print @$array1;
如果需要执行类似操作,应设置一个模块:
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);
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;
print @array1;
use List;
my $array1 = List->array1;
print @$array1;
但一般来说,最好使用完全限定名对其进行编码(无需使用导出器
):
或创建访问器方法:
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);
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;
print @array1;
use List;
my $array1 = List->array1;
print @$array1;
不直接。
my
的全部目的是使其无法访问其范围之外的变量,而不是直接访问。my
的全部目的是使其无法访问超出其范围的变量。