Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use HTML::Parser::XML;
- use Benchmark;
- my $html = '<html>';
- $html ~= '<div class="header">';
- $html ~= '<div><a href="piko.html>piko</a></div>' x 10000;
- $html ~= '<div><p>fake content</p>' x 10;
- $html ~= '</div>' x 11;
- $html ~= '<div class="content">';
- $html ~= '<img src="nyo.png"/>' x 200;
- $html ~= '<div class="content_footer"><p>fake content</p>' x 10;
- $html ~= '</div>' x 10;
- $html ~= '<div class="inside_content">';
- $html ~= '<a href="nyo.html">nyo</a>' x 3;
- $html ~= '</div> </div>';
- $html ~= '<div><a href="piko.html>piko</a></div>' x 1000;
- $html ~= '<div><p>fake content</p>' x 10;
- $html ~= '</div>' x 10;
- $html ~= '</html>';
- say $html;
- my $parser = HTML::Parser::XML.new;
- $parser.parse($html);
- my %result = timethese(10, {
- "nofilter" => sub {$parser.parse($html)},
- "partial filter" => sub {$parser.parse($html, :TAG<div>, :class<content>)},
- "specific filter" => sub {$parser.parse($html, :TAG<div>, :class<inside_content>)} } );
- say %result.perl;
- say map { $_ => %result{$_}[3] }, sort keys %result;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement