我有这个:
%lookup = (
'Shelf' => { storage_types => 'Flat, Default' },
'Locker' => { storage_types => 'Valuable' },
);
我想得到这个:
%reverse_lookup = (
'Flat' => 'Shelf',
'Default' => 'Shelf',
'Valuable' => 'Locker',
);
例如,我可以在测试中循环浏览存储类型,并检查子例程是否返回正确的位置。
我无法理解多个列表扩展部分。
%reverse_lookup = map { split(/,\s*/, $lookup{$_}) => $_ } keys %lookup; # wrong
我想用 map 或类似的东西简洁地完成这一切,而不是 foreach 循环。