Perl以不同的方式加入?

时间:2012-05-25 06:20:31

标签: arrays perl join

我正在处理perl模块并寻找表单的输出(字符串):a:value1 OR a:value2 OR a:value3 OR ...

value1, value2, value3...位于数组中(例如@values)。

我知道我们可以使用join( ' OR ', @values )创建表单的连接字符串:value1 OR value2 OR value3 OR ...

但正如您在上面所看到的,我需要为每个值添加额外的a:

这样做的方法是什么?

1 个答案:

答案 0 :(得分:5)

您通常会将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是一个简单的循环结构,当你想要对列表的每个元素应用一些简单的逻辑而不会使你的代码过于混乱时,它非常有用。