Печать массива вне цикла foreach - PullRequest
0 голосов
/ 28 февраля 2020

в основном я просто хочу напечатать весь массив ... когда я делал это внутри цикла foreach, он печатает нормально - весь массив. Но когда я попытался сделать это за пределами foreach l oop, он печатает только последний элемент массива.

EXPECTED: 000001066

RESULT : 066

Есть предложения? Заранее спасибо.

my $var;
foreach (@rows) {
    (my $dump = $_->{WA}) =~ s/\s+$//;
    ($shortdump->{MANDT},$shortdump->{CCCATEGORY},$shortdump->{CCCORACTIV},$shortdump->{CCNOCLIIND}) =
        map { s/^\s+//; s/\s+$//; $_ } split(";", $dump);
    my @array = split('', $shortdump->{MANDT}, length($shortdump->{MANDT}));
    $var = join "", @array;
    print @array; #THIS WILL PRINT NORMALLY
}
print "Array: $var"; #PRINT ONLY LAST ELEMENT, NOT WHOLE ARRAY

1 Ответ

2 голосов
/ 28 февраля 2020

Чтобы распечатать весь массив, вы должны накапливать значения.

Поэтому вместо использования

$var = join "", @array;

следует использовать

$var = $var . join "", @array;

или ярлык:

$var .= join "", @array;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...