http://qs321.pair.com?node_id=1100030


in reply to HTML::TokeParser Search and remove by ID

I am using HTML::TokeParser and this is what I would like to do.

Why tokeparser?

Its easiest to use HTML::TreeBuilder::XPath or XML::LibXML with tools like xpather.pl/htmltreexpather.pl which can give you paths to start with, and all the links here Re: Retrieve select information from HTML, they're examples(for tree-xpath and others)/walkthroughs/tutorials ...

#!/usr/bin/perl -- use strict; use warnings; use Data::Dump qw/ dd /; use HTML::TreeBuilder::XPath; my $tree = HTML::TreeBuilder::XPath->new; $tree->parse_content(<<'__HTML__'); <div id="ro"> <div id="goner"> </div> shambo </div> __HTML__ my( $ro ) = $tree->findnodes( q{ //div[ @id = "ro" ] } ); $ro->detach; $tree->eof; $tree->delete; undef $tree; print "$ro\n"; print $ro->as_HTML, "\n"; $ro->findnodes( q{ //div[ @id = "goner" ] } )->shift->delete; print $ro->as_HTML, "\n"; __END__ HTML::Element=HASH(0xd4dbc4) <div id="ro"><div id="goner"></div> shambo </div> <div id="ro"> shambo </div>

var $newContent =

perlintro, TutorialsData Types and Variables

More elaborate and coprehensive tutorial in http://learn.perl.org/books/beginning-perl/, Learn Perl in about 2 hours 30 minutes, perlintro, chromatics free book Modern Perl a loose description of how experienced and effective Perl 5 programmers work....You can learn this too.

Replies are listed 'Best First'.
Re^2: HTML::TokeParser Search and remove by ID
by djlerman (Sexton) on Sep 09, 2014 at 23:00 UTC

    Unfortunately we only have HTML::TokeParser installed and will not be able to get another package installed.

      Sorry, I mean we only have the following installed:
      • /usr/lib/perl5/HTML/PullParser.pm
      • /usr/lib/perl5/HTML/Entities.pm
      • /usr/lib/perl5/HTML/LinkExtor.pm
      • /usr/lib/perl5/HTML/Parser.pm
      • /usr/lib/perl5/HTML/Filter.pm
      • /usr/lib/perl5/HTML/TokeParser.pm
      • /usr/lib/perl5/HTML/HeadParser.pm