引用带有struct类的哈希

时间:2015-03-02 20:39:00

标签: perl

您好我正在尝试引用具有结构的哈希数组,但是当我需要在其上写时它不起作用。

use warnings;
use Class::Struct;

struct lib  => {
    content   =>    '$',
    type       =>   '$',
};

my %library ;

$library{"one"} = lib->new();
$library{"one"}->content("first text here \n");
my $ref = \$library{"one"}->content();
print $$ref ;
$$ref = "Second text\n" ;
print $$ref ;
print $library{"one"}->content() ;

如何进行更新内容的参考?

1 个答案:

答案 0 :(得分:1)

要更改结构的内容,只需使用适当的方法:

$library{one}->content("Second text\n");

如果你真的想打破封装,你可以尝试

my $ref = \$library{one}{'lib::content'};
$$ref = "Second text\n";
print $$ref;
print $library{one}->content;