2011-12-23 8 views
5

テキストファイルがオンラインであるかオフラインであるかにかかわらず、テキストファイルを読み込んで解析するスクリプトを作成しようとしています。Perl:Webテキストファイルを読み込んで開きます

オフライン部分は

を使用して、行われている今、オンラインの部分は、ウェブサイト上のテキストファイルを読み込み、それを「開く」ためにとにかくはありますか?

私が達成したいと考えて何

はこれです:

if ($offline) { 
    open(FILENAME, "anyfilename.txt") 
} 
elsif ($online) { 
    ##somehow open the http web text so that I can do a while (<FILENAME>) later 
} 

analyze_file(); 

sub analyze_file { 
    while (<FILENAME>) {analyze analyze} 
} 

あり "( 'http://weblink.com/textfile.txt;)を得るには、" だけど、それは文字列を作成します。私はその文字列でwhile()を行うことはできません。

これはどのように行うことができますか?

答えて

11

open FILEHANDLE,MODE,REFERENCEのスタイルはopenと単純です。

use LWP::Simple; 
if ($offline) { 
    open(FILENAME, '<', "anyfilename.txt") 
} 
elsif ($online) { 
    my $text = get 'http://example.com'; 
    open(FILENAME, '<', \$text); 
} 
+0

+1これはおそらく正しい方法です。しかし、その機会に応じて、ファイルハンドルをスカラーに開くことは私にとっては大変なことであり、スカラーを線の配列に分割するという私の提案された解決法を使用しています。 – sidyll

+0

@sidyllファイルハンドルをスカラーに開くのはなぜですか? BradGilbertありがとうございました! –

+0

@ Brad-Gilbertスラッシュは\ $というコンテキストで実際に何をしますか?通常は、その後ろのものを無効にする場合。テキスト中の$が無効になっているため、コードはなぜ機能しますか? –

関連する問題