-1

我在我的代码中使用了一个 foreach 循环

foreach $c1(sort {$a<=>$b} keys %info ) {
    print $c1, "\t", 
          join(',',@{$info{$c1}->{var1}}), "\t", 
          join(',',@{$info{$c1}->{var2}}), "\n";
}

当我运行我的代码时,'foreach' 的输出会打印在屏幕上。

但是,我想在脚本的其他部分中使用“foreach”循环的结果。我怎样才能做到这一点?我应该在循环内还是之前分配一个变量?

4

2 回答 2

2

不完全清楚你在问什么,但如果你只是想保存你正在构建的字符串,这很简单:

    my $result = "";
    foreach $c1 (sort {$a <=> $b} keys %info) {
      $result .= $c1 . "\t" . 
        join(',',@{$info{$c1}->{var1}}) . "\t" . 
        join(',',@{$info{$c1}->{var2}}) . "\n";
    }

然后您可以打印$result或将其发送到其他功能或其他任何东西。

于 2013-04-23T10:11:01.283 回答
0

我认为你可以使用这种东西。将结果推送到数组中。推(@array,$c1);现在你可以在程序的任何地方使用@array。

于 2013-04-24T07:12:56.007 回答