我不明白返回声明在做什么.
my %config = (
'name' => 'blah',
);
return wantarray ? %config : \%config;
Run Code Online (Sandbox Code Playgroud)
特别是\%部分令我困惑.
如果当前正在执行的子例程或eval的上下文正在查找列表值,则返回true.如果上下文正在查找标量,则返回false.如果上下文没有查找值(void context),则返回未定义的值.
如果调用者不想要列表,则\%config语法返回对%config散列的引用,而不是将散列平铺为交替键和值的列表.