2013-11-14 3 views
1

저는 최근에 Perl을 시작했고 내가 원하는 것을 얻기 위해 많은 것들을 혼합했습니다.임시 파일을 사용하지 않고 Getstore를 버퍼에 저장합니다.

내 스크립트는 웹 페이지의 콘텐츠를 가져 와서 파일에 씁니다.

다음 파일 핸들러를 열고 report.html 파일을 (미안하지만 영어가 아니므로 더 잘 말할 수있는 방법을 모른다) 구문 분석하고 파싱합니다. 내가 만나는 모든 라인을 특정 파일을 포함하는 라인을 제외하고 새로운 파일에 씁니다.

작동하지만, "report.html"임시 파일을 만들 필요가없는 다른 방법을 시도하고 싶습니다.

또한 결과를 파일로 직접 인쇄하고 싶습니다. 시스템 리디렉션 '>'을 사용하지 않아도됩니다. 그것은 내 스크립트가 다른 .sh 스크립트에 의해 호출되어야한다는 것을 의미하며, 나는 그것을 원하지 않는다. 당신이 변수로 HTML 콘텐츠를 가지고 있다면 당신의 도움에 대한

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

my $report = "report.html"; 

getstore('http://test/report.php', 'report.html') or d\ 
ie 'Unable to get page\n'; 

open my $fh2, "<$report" or die("could not open report file : $!\n"); 

while (<$fh2>) 
{ 
print if (!(/<td style="background-color:#71B53A;"/ .. //)); 
} 

close($fh2); 

덕분에

답변

0

,이 변수에 open 전화를 사용할 수 있습니다. 마찬가지로 :; open $fh, '<', $filepath 같은 개방형 사용하십시오 sencond 질문에)

my $var = "your html content\ncomes here\nstored into this variable"; 
open my $fh, '<', \$var; 

# .. just do the things you like to $fh 

당신은 LWP::Simple 모듈에서 get 기능을 시도 할 수 있습니다. 더 많은 정보를 보려면 perldoc -f open을 사용할 수 있습니다.

관련 문제