将for循环的结果作为单个变量存储在Perl中

将for循环的结果作为单个变量存储在Perl中,perl,for-loop,Perl,For Loop,我目前正在for循环本身中打印一个结果: for (@data1, @data2, @data3) { print "$_" . " "; } 相反,我希望安静地处理循环,并将for循环的整个结果存储为变量,然后像这样单独打印: print "$forloopresult"; 我该怎么做?谢谢 只需声明变量并在每个步骤中附加数据: my $result = ""; for (@data) { $result = $result."$_ "; } print $result

我目前正在for循环本身中打印一个结果:

for (@data1, @data2, @data3) {
    print "$_" . " ";
} 
相反,我希望安静地处理循环,并将for循环的整个结果存储为变量,然后像这样单独打印:

print "$forloopresult";

我该怎么做?谢谢

只需声明变量并在每个步骤中附加数据:

my $result = "";
for (@data) {
    $result = $result."$_ ";
}

print $result;

只需声明变量并在每个步骤中追加数据:

my $result = "";
for (@data) {
    $result = $result."$_ ";
}

print $result;

对于这种情况,我只需要使用:


对于这种情况,我只需要使用:


如果您的目的是保留
print
语句,但让文本转到变量而不是控制台,那么这也是可能的。如果传递对标量变量的引用而不是文件名,则可以打印到该变量

看起来像这样。我已声明
$forloopresult
,并将
\$forloopresult
作为
打开的第三个参数传递。
Data::Dump
的输出显示结果

use strict;
use warnings;

use Data::Dump;

my @data1 = qw/ a b c /;
my @data2 = qw/ aa bb cc /;
my @data3 = qw/ aaa bbb ccc /;

my $forloopresult;
open my $fh, '>', \$forloopresult or die $!;

for ( @data1, @data2, @data3 ) {
    print $fh "$_ ";
}

dd $forloopresult;
输出
如果您的目的是保留
print
语句,但让文本转到变量而不是控制台,那么这也是可能的。如果传递对标量变量的引用而不是文件名,则可以打印到该变量

看起来像这样。我已声明
$forloopresult
,并将
\$forloopresult
作为
打开的第三个参数传递。
Data::Dump
的输出显示结果

use strict;
use warnings;

use Data::Dump;

my @data1 = qw/ a b c /;
my @data2 = qw/ aa bb cc /;
my @data3 = qw/ aaa bbb ccc /;

my $forloopresult;
open my $fh, '>', \$forloopresult or die $!;

for ( @data1, @data2, @data3 ) {
    print $fh "$_ ";
}

dd $forloopresult;
输出
您也可以使用
=
作为
$result.=“$\code>@JimDavis,对,我有意使用更明确的语法。只是让它更清楚一点。你也可以像在
$result.=“$\code>@JimDavis,对,我有意使用更明确的语法。只是想说清楚一点。