1
$self->doSomething({
    record     => $record,
    listing    => [ $foo, $bar, $baz ],
    passedargs => { something => $val, another => $val2 }
});

在 hashref 中访问 args。

所以如果我想访问记录,我会

my $record = $args->{record};

如果我想访问列表,我会

my @listing = $args->{listing}; 

我将如何访问 Passedargs?如果我只是想访问“某物”或“另一个”?

4

2 回答 2

3

如果要将值分配给listing数组,请注意您需要取消引用它:

my @listing = @{ $args->{listing} };

要访问 中的字段passedargs,您只需使用以下语法:

my $something = $args->{passedargs}{something};

有关更多详细信息,请查看:perldsc - Perl 数据结构食谱

于 2014-09-15T17:24:29.477 回答
1

$args->{passedargs}本身就是一个 hashref,所以你会这样做:

my $something = $args->{passedargs}->{something};
于 2014-09-15T17:20:44.323 回答