我是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
?
也许有人可以给我展示一个类应该如何定义的例子,这样我就不会在我的数组中得到任何默认值了?