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