Perl: читать текстовый файл и открывать его - PullRequest
5 голосов
/ 23 декабря 2011

Я пытаюсь создать скрипт, который будет читать текстовые файлы, а затем анализировать их, независимо от того, находится ли текстовый файл в сети или в автономном режиме.

Офлайн-часть выполнена с использованием

open(FILENAME, "anyfilename.txt")
analyze_file();

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

Теперь для онлайн-части, есть ли в любом случае, чтобы прочитать текстовый файл на веб-сайте, а затем "открыть" его?

Что я надеюсь достичь, это:

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}
}

Есть "get ('http://weblink.com/textfile.txt;)"), но он создает строку. Я не могу сделать while () с этой строкой.

Кто-нибудь знает, как это можно сделать?

1 Ответ

11 голосов
/ 23 декабря 2011

Все просто, просто используйте стиль 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 );
}
...