我碰到使用HTML解析器的Perl代碼來了,如同下面這個HTML :: Parser()代碼在Perl中做什麼?
my $p = HTML::Parser->new(text_h => [ sub {$text .= shift},
'dtext']);
請幫我理解這一點。
我碰到使用HTML解析器的Perl代碼來了,如同下面這個HTML :: Parser()代碼在Perl中做什麼?
my $p = HTML::Parser->new(text_h => [ sub {$text .= shift},
'dtext']);
請幫我理解這一點。
$p = HTML::Parser->new(api_version => 3,
text_h => [ sub {...}, "dtext" ]);
這將創建與接收的原始文本與一般實體解碼的文本事件處理子程序一個新的解析器對象。
編輯:
use HTML::Parser;
use LWP::Simple;
my $html = get "http://perltraining.stonehenge.com";
HTML::Parser->new(text_h => [\my @accum, "text"])->parse($html);
print map $_->[0], @accum;
另一個
#!/usr/bin/perl -w
use strict;
use HTML::Parser;
my $text;
my $p = HTML::Parser->new(text_h => [ sub {$text .= shift},
'dtext']);
$p->parse_file('test.html');
print $text;
其中,當在這樣一個文件中使用:
<html>
<head>
<title>Test</title>
</head>
<body>
<h1>Test Stuff</h1>
<p>This is a test</p>
<ul>
<li>this</li>
<li>is a</li>
<li>list</li>
</ul>
</body>
</html>
產生以下輸出:
Test
Test Stuff
This is a test
this
is a
list
這有幫助嗎?
你的問題到底是什麼?你想要關於Perl語言及其語法的教程嗎?你對'HTML :: Parser'模塊的具體問題有疑問嗎?或者介於兩者之間? – Biffen
請將標題改爲您的實際問題,以便有類似問題的人可以找到您的問題。 – reinierpost