2011-08-09 48 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; 

通過使用所述變量,而不是變量的值的基準,並存儲打印的行直到結束時,你將做打印與存儲在該變量中的最後一個值。