Perl:阅读网络文本文件并“打开”它

时间:2011-12-23 16:45:25

标签: perl http file-io while-loop

我正在尝试创建一个脚本来读取文本文件,然后分析它们,无论文本文件是在线还是离线。

离线部分已完成,使用

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 个答案:

答案 0 :(得分:11)

这很简单,只需使用open FILEHANDLE,MODE,REFERENCEopen样式。

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