2011-08-09 33 views
1
open (OUT,">new.txt"); 

my $var = "test-1"; 
print OUT "$var"; 

$var = "test-2"; 
print OUT "$var"; 

$var = "test-3"; 
print OUT "$var"; 

close(OUT); 

输出给:使用perl(最后修改的值)打印在文件上的标量值?

test-1 
    test-2 
    test-3 

我特林得到的输出为:

test-3 
    test-3 
    test-3 

- 使印在文件 在perl脚本最终分配/修改后的标量值该文件句柄(OUT)的 。

请指引我,如果有任何方式这样执行....

在此先感谢所有

回答

1

这里有一个办法做到这一点。

use strict; 
use warnings; 
use autodie; 

my @print; 

my $var = "test-1"; 
push @print, \$var; 

$var = "test-2"; 
push @print, \$var; 

$var = "test-3"; 
push @print, \$var; 

open my $out, '>', "new.txt"; 
print $out map { $$_ } @print; 

通过使用所述变量,而不是变量的值的基准,并存储打印的行直到结束时,你将做打印与存储在该变量中的最后一个值。