值value1,value2,value3 …在数组中(例如,@ value).
我知道我们可以使用join(‘OR’,@ value)来创建一个形式的连接字符串:value1 OR value2 OR value3 OR …
但正如您在上面所看到的,我需要额外的a:在每个值之前加上.
什么是一个巧妙的方法呢?
#!/usr/bin/env perl use strict; use warnings; my @array = qw(value1 value2 value3); print join(" OR ",map "a:$_",@array),"\n";
输出:
a:value1 OR a:value2 OR a:value3
map是一个简单的循环结构,当你想要将一些简单的逻辑应用于列表的每个元素而不会使代码过于混乱时,它非常有用.