2013-01-14 2 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은 아무 것도하지 않습니다.

파일 줄 인쇄가 작동하지 않는 이유는 무엇입니까? 펄은 자주 작동하지 않는 것들을 가지고있는 것 같습니다 ...

파일 줄을 인쇄하려면 파일이 이미 존재해야합니까?

답변

21

<은 읽기 용 파일을 엽니 다. 쓰기 위해 파일을 열려면 >을 사용하십시오 (추가하려면 >> 추가).

그것은 어떤 에러 처리를 추가 할 수도 보람 : 어휘 파일 핸들 및 오류 검사를 사용

open` '의 3 인자 - 버전
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. – dgw

+0

-1 'print {$ fh} $ xml'이 아닌 경우 – gaussblurinc

관련 문제