我有像这样的HTML代码
<html>
<body>
<a href="one">frist</a>
<a href="two">second</a>
<a href="three">third</a>
<a href="four">fourth</a>
</body>
</html>
我想创建一个获取此代码并在
之间打印字符串的perl脚本<a href="
和
">
对于此代码,它将是
one
two
three
four
我该怎么做? 抱歉我的英文不好
答案 0 :(得分:0)
像这样使用HTML::LinkExtor
use strict;
use warnings;
use HTML::LinkExtor;
my $extor = HTML::LinkExtor->new;
$extor->parse_file(\*DATA);
for ( $extor->links ) {
my ($tag, $att, $val) = @$_;
print $val, "\n" if $tag eq 'a' and $att eq 'href';
}
__DATA__
<html>
<body>
<a href="one">frist</a>
<a href="two">secnod</a>
<a href="three">thrid</a>
<a href="four">furoth</a>
</body>
</html>
<强>输出强>
one
two
three
four
答案 1 :(得分:-1)
这不是解析HTML文件的正确方法,但对于您的给定数据,此代码将为您提供所需的输出:
use warnings;
use strict;
my $file = $ARGV[0];
open my $fh, "<", $file or die $!;
while ( my $line = <$fh> ) {
chomp $line;
if ( $line =~ m/a href="(.+)"(.*)/g ) {
print "$1\n";
}
}
数据强>
<html>
<body>
<a href="one">frist</a>
<a href="two">second</a>
<a href="three">third</a>
<a href="four">fourth</a>
</body>
</html>
<强>输出强>
one
two
three
four