Как я могу использовать Perl для конкатенации элементов массива между двумя индексами? У меня есть массив строк: @array Я хочу объединить все строки, начиная с индекса массива $i до $j. Как я могу это сделать? Ответ 1 $newstring = join('', @array[$i..$j]) Ответ 2 my $foo = join '', @array[$i..$j]; Сначала мы создаем срез массива со значениями, которые мы хотим, затем присоединяем их к пустым символам. Ответ 3 Просто добавить массив 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; если вы предпочитаете "c-d-e-f". Ответ 4 Попробуйте это.... use warnings ; use strict ; use Data::Dumper ; my $string ; map { $string .= $_; } @arr[$i..$j] ; print $string ;
Ответ 2 my $foo = join '', @array[$i..$j]; Сначала мы создаем срез массива со значениями, которые мы хотим, затем присоединяем их к пустым символам.
Ответ 3 Просто добавить массив 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; если вы предпочитаете "c-d-e-f".
Ответ 4 Попробуйте это.... use warnings ; use strict ; use Data::Dumper ; my $string ; map { $string .= $_; } @arr[$i..$j] ; print $string ;