Добавление префикса при использовании участвует в Perl

У меня есть массив строк, на котором я хотел бы использовать функцию соединения. Однако я хотел бы снабдить префиксом каждую строку ту же строку. Я могу сделать это в одной строке в противоположность итерации через массив сначала и изменению каждого значения перед использованием соединения?

На самом деле это немного более хитро. Префикс не является частью разделителя соединения. При значении, использовали ли Вы префикс как "цифра -" на массиве (1,2,3,4,5), Вы захотите получить этот результат: цифра 1, цифра 2, цифра 3, цифра 4, цифра 5

11
задан syker 27 April 2010 в 22:59
поделиться

2 ответа

Этот код:

my @tmp = qw(1 2 3 4 5);
my $prefix = 'num-';
print join "\n", map { $prefix . $_ } @tmp;

дает:

num-1
num-2
num-3
num-4
num-5
22
ответ дан 3 December 2019 в 04:12
поделиться

Просто сделайте префиксную часть соединения:

my @array = qw(a b c d);
my $sep = ",";
my $prefix = "PREFIX-";
my $str = $prefix . join("$sep$prefix", @array);

Вы также можете использовать карту для префикса, если хотите:

my $str = join($sep, map "$prefix$_", @array);
3
ответ дан 3 December 2019 в 04:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: