我试图在perl中逐行浏览html页面,但它只是将整个文件视为一行。我该如何解决?

时间:2012-12-10 23:59:46

标签: perl

所以我在我的代码中定义了一个url,然后将其分配给内容,因此整个html文件应存储在$content中。当我从STDIN读取时,它会自动逐行进行,但这似乎不是这种情况。 $end == 1部分只是说while循环何时应该停止。我是Perl的新手,所以它可能只是一个小的语法,但我尝试使用双等号或在循环内移动$line = $content部分,但我仍然无法解决它。任何帮助,将不胜感激!谢谢!

my $content = get $url;
while(my $line = $content && $end == 1) {
    #code to edit line
}

2 个答案:

答案 0 :(得分:1)

试试这个:

my @content = get $url;
foreach my $line (@content) {
    ...
}

答案 1 :(得分:1)

while ($content =~ /\G(.*\n|.+\z)/g) {
   my $line = $1;
   ...
}

对于$end,您的变量命名错误或您的逻辑被反转。无论如何,这样的结构是完全没必要的;只需使用last