+ -
当前位置:首页 → 问答吧 → 请教关于引用的问题

请教关于引用的问题

时间:2011-02-05

来源:互联网

如下一段代码
#!/usr/bin/perl
package Test;
use strict;
use warnings;

sub new {
        my $class = shift;
        my $self = {
                ref_array => [],
                name => "",
        };
        bless($class, $self);
        return $self;

}

package main;
my $test = Test->new();
my @array;
$test->ref_array = \@array;

my $ref = $test->ref_array;
push(@array, 1, 2, 3, 4);

print @$ref;

期望输出1,2,3,4的数组,但实际什么都没有。大家能帮忙看看是什么问题吗?想了很久百思不得其解。

作者: shs867   发布时间: 2011-02-05

是不是想这样

#!/usr/bin/perl
package Test;
use strict;
use warnings;

sub new {
        my $class = shift;
        my $self = {
                ref_array => [],
                name => "",
        };
        bless( $self,$class);
        return $self;

}

package main;
my $test = Test->new();
my @array;
$test->{ref_array} = \@array;

my $ref = $test->{ref_array};
push(@array, 1, 2, 3, 4);

print @$ref;

作者: qinglangee   发布时间: 2011-02-05