как использовать другой массив файлов в программе - PullRequest
0 голосов
/ 25 февраля 2011

list.pl

my @array1 = qw ( l2  l3 l4 l5 );
my @array2 = qe ( l6  l2 l3 );

Pgm.pl

use list.pl 

print @array1; 

это возможно?

Ответы [ 2 ]

3 голосов
/ 25 февраля 2011

попробуйте требуется , require 'list.pl'. Вам также может понадобиться изменить префикс области my на более глобальный.

1 голос
/ 25 февраля 2011

Если вам нужно сделать что-то подобное, вы должны установить модуль:

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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...