3

我不明白那个 return 语句在做什么。

my %config = (
  'name'       => 'blah',
);

return wantarray ? %config : \%config;

特别是, \% 部分让我感到困惑。

4

1 回答 1

5

请参阅perldoc -f wantarray

如果当前正在执行的子例程或 eval 的上下文正在寻找一个列表值,则返回 true。如果上下文正在寻找标量,则返回 false。如果上下文不寻找任何值(空上下文),则返回未定义的值。

如果调用者不需要列表,则\%config语法返回对%config哈希的引用,而不是平展为交替键和值列表的哈希。

于 2013-06-06T18:52:38.430 回答