2013-01-14 44 views
4

我正在使用下面的代碼來嘗試打印一個變量到文件。如何在Perl中將變量打印到文件中?

my $filename = "test/test.csv"; 
open FILE, "<$filename"; 
my $xml = get "http://someurl.com"; 
print $xml; 
print FILE $xml; 
close FILE; 

因此print $xml將正確的輸出打印到屏幕上。但print FILE $xml不會做任何事情。

爲什麼打印到文件行不起作用? Perl似乎往往有這些東西,只是不工作...

對於打印到文件行的工作,是否有必要該文件已經存在?

回答

21

<打開一個文件供閱讀。使用>打開文件進行寫入(或追加>>)。

這也是值得加入一些錯誤處理:

use strict; 
use warnings; 
use LWP::Simple; 

my $filename = "test/test.csv"; 
open my $fh, ">", $filename or die("Could not open file. $!"); 
my $xml = get "http://example.com"; 
print $xml; 
print $fh $xml; 
close $fh; 
+1

+1 open'的'三參數版本,使用詞法文件句柄和錯誤檢查。 – dgw

+0

-1不是'print {$ fh} $ xml' – gaussblurinc