[英]Object attribute access in Perl
我想創建一個 Perl class 並填充其屬性。 object 屬性將像下面的 yaml 文件一樣填充。
$data = LoadFile("$mydir/$ARGV[$j]");
my $X= $data->{a}{b}{c};
package Person;
sub new {
my $class = shift;
my $self = {
a=>shift;
};
bless $self, $class;
return $self;
}
my $p=Person->new();
我想訪問這樣的屬性。 我怎樣才能做到這一點?
$p->a($data->{a}{b}{c});
$p->a($data->{a}{b}{c})
沒有意義。 你的意思是$p->a->{a}{b}{c}
嗎?
package Person;
sub new {
my ($class, $data) = @_;
my $self = bless({}, $class);
$self->{data} = $data;
return $self;
}
sub data { $_[0]{data} }
1;
my $data = LoadFile(...);
my $p = Person->new($data);
say $p->data->{a}{b}{c};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.