这个perl行是做什么的?

时间:2013-06-06 18:50:35

标签: perl

我不明白返回声明在做什么。

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

return wantarray ? %config : \%config;

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

1 个答案:

答案 0 :(得分:5)

请参阅perldoc -f wantarray

  

如果当前正在执行的子例程或eval的上下文正在查找列表值,则返回true。如果上下文正在查找标量,则返回false。如果上下文没有查找值(void context),则返回未定义的值。

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