Я работаю над созданием класса Graph в Perl и надеюсь, что каждый Graph будет содержать узлы.Каждый узел имеет некоторые свойства, а также (на данный момент) массив, который содержит ссылки на каждый узел, к которому он подключен.Пока у меня есть это определение узла:
use strict;
package Node;
sub new{
my $class = shift;
my @array = (1,2,3);
my $array_r = \@array;
my $self = {
code => undef,
name => undef,
country => undef,
continent => undef,
timezone => undef,
coordinates => ("", "", "", ""),
population => undef,
region => undef,
arrayRef => $array_r,
@_,
};
bless $self, $class;
return $self;
}
И все же после вызова следующей функции из моего основного скрипта:
sub getSetArray{
my $self = shift;
return $self->{arrayRef};
}
, сохранения значения и его печати: my $ val= $ firstnode-> getSetArray ();print @ {$ val};
Я получаю следующую ошибку:
Не могу использовать неопределенное значение в качестве ссылки на массив.
Я предполагаю, что понимаюуровень косвенности моих ссылок выключен, но я не вижу, что происходит.
Спасибо, -A