这个perl行是做什么的?

Fre*_*red 3 perl

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

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

return wantarray ? %config : \%config;
Run Code Online (Sandbox Code Playgroud)

特别是\%部分令我困惑.

Aln*_*tak 5

见perldoc -f wantarray:

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

如果调用者不想要列表,则\%config语法返回对%config散列的引用,而不是将散列平铺为交替键和值的列表.