将for循环的结果作为单个变量存储在Perl中
我目前正在for循环本身中打印一个结果:将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 (@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,对,我有意使用更明确的语法。只是想说清楚一点。