我可以使用哈希构造函数来构造哈希,如下所示:
my $h={entry=>"hello"};
但是如果在map语句的末尾使用它,我会得到一个成对列表:
[^3].map({ {entry=>$_} }).say;
##Output: (entry => 0 entry => 1 entry => 2)
我可以用强制方式解决此问题,并根据需要提供哈希列表:
[^3].map({ %(entry=>$_) }).say;
##Output: ({entry => 0} {entry => 1} {entry => 2})
我知道{}
运算符因创建块而过载,但是在此示例中,我不了解返回对而不是返回哈希。有人可以启发我吗?还有其他情况下,我会使用'hash'构造函数获取成对列表,而不是哈希吗?谢谢!