Я только начинающий с Perl, так что если это звучит глупо - извините за это:)
Моя проблема в том, что я пытаюсь написать класс с пустым массивом, определенным в конструкторе класса. Итак, я делаю это так:
package MyClass;
use strict;
sub new {
my ($C) = @_;
my $self = {
items => ()
};
bless $self, ref $C || $C;
}
sub get {
return $_[0]->{items};
}
1;
Позже я тестирую свой класс простым скриптом:
use strict;
use Data::Dumper;
use MyClass;
my $o = MyClass->new();
my @items = $o->get();
print "length = ", scalar(@items), "\n", Dumper(@items);
И при запуске скрипта я получаю следующее:
$ perl my_test.pl
length = 1
$VAR1 = undef;
Почему я делаю неправильно, почему я получаю массив items
, заполненный undef
?
Может быть, кто-то может показать мне пример того, как должен быть определен класс, чтобы я не получил никаких значений по умолчанию в моем массиве?