Как я могу использовать Perl для конкатенации элементов массива между двумя индексами?

У меня есть массив строк: @array

Я хочу связать все строки, начинающиеся с индекса массива $i кому: $j. Как я могу сделать это?

12
задан toolic 13 March 2010 в 13:01
поделиться

4 ответа

$newstring = join('', @array[$i..$j])
20
ответ дан 2 December 2019 в 05:15
поделиться
my $foo = join '', @array[$i..$j];

Сначала мы генерируем срез массива с нужными нам значениями, а затем присоединяем их к пустому символу ''.

8
ответ дан 2 December 2019 в 05:15
поделиться

Попробуйте это ....

use warnings ;
use strict ;
use Data::Dumper ;
my $string ;
map { $string .=  $_; } @arr[$i..$j] ;
print $string ;
-1
ответ дан 2 December 2019 в 05:15
поделиться

Просто заключите массив perl в кавычки, чтобы объединить его, если вас устраивают пробелы в качестве символа объединения:

@array = qw(a b c d e f g);
$concatenated = "@array[2 .. 5]";
print $concatenated;
## prints "c d e f"

или, конечно,

$" = '-';
@array = qw(a b c d e f g);
$concatenated = "@array[2 .. 5]";
print $concatenated;

, если вы предпочитаете cdef.

2
ответ дан 2 December 2019 в 05:15
поделиться
Другие вопросы по тегам:

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