1

我最近开始使用 Perl 并混合了很多东西来获得我想要的东西。

我的脚本获取网页的内容,将其写入文件。

然后我打开一个文件处理程序,插入文件report.html(对不起,我不是英语,我不知道怎么说更好)并解析它。我将遇到的每一行都写入一个新文件,但包含特定颜色的行除外。

它有效,但我想尝试另一种不需要我创建“report.html”临时文件的方式。

此外,我想直接在文件中打印我的结果,我不想使用系统重定向“>”。这意味着我的脚本必须由另一个 .sh 脚本调用,我不希望这样。

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);

谢谢你的帮助

4

1 回答 1

0

如果您已将 html 内容放入变量中,则可以open调用此变量。喜欢:

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

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

您可以尝试模块中get的功能LWP::Simple;)

对于您的第二个问题,请使用 open like open $fh, '<', $filepath。您可以使用perldoc -f open查看更多信息。

于 2013-11-14T17:08:18.260 回答