在脚本的其他部分使用foreach循环的结果

时间:2013-04-23 09:51:42

标签: perl

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

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

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

但我想在脚本的其他部分使用'foreach'循环的结果。我怎样才能做到这一点?我应该在循环内或之前分配变量吗?

2 个答案:

答案 0 :(得分:2)

你所要求的并不完全清楚,但如果你只想保存你正在建造的那个字符串,那就很简单了:

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

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

答案 1 :(得分:0)

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