我正在研究 perl 模块并寻找以下形式的输出(字符串):a:value1 OR a:value2 OR a:value3 OR ...
这些值value1, value2, value3...
在一个数组中(例如,@values)。
我知道我们可以使用join( ' OR ', @values )
以下形式创建连接字符串:value1 OR value2 OR value3 OR ...
但正如您在上面看到的,我需要在每个值之前附加a:
一个附加值。
这样做的好方法是什么?
您通常将map用于以下类型的事情:
#!/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
是一个简单的循环结构,当您想对列表的每个元素应用一些简单的逻辑而不会使代码过于混乱时,它很有用。