HTML::DOM, version 0.042 HTML::DOM is a Perl implementation of the HTML Document Object Model This is an alpha release. So far, the level-2 core, HTML and event DOM interfaces have been implemented, and some of the level-2 style sheet interfaces. RECENT CHANGES See the Changes file for the long version. 0.042 ----- One bug fix: Unmatched and tags no longer close elements that are outside the innermost enclosing table. 0.041 ----- Bug fixes: • A CharacterData node’s data method now stringifies its argument. • Setting the selected attribute of an orphaned option element no longer causes errors. • innerText is now listed in %HTML::DOM::Interface. • $element->getElementsByTagName now ignores the $element itself. • $element->setAttribute now stringifies the value, so getAttribute- Node is no longer confused. • cloneNode with a true argument (deep clone) now sets the ownerDocu- ment properly. • Setting a boolean attribute through the DOM 0 interface now works properly. 0.040 ----- Bug fix: Calling $doc->write from an elem handler now parses the HTML code immediately instead of buffering it and waiting for the elem han- dler to return. This allows aberrations like $doc->write("); $doc->getElementById('img')... to work. TO DO - Finish Level 2 CSS support - outerHTML/innerText? - Other DOM interfaces (the rest of level 2, and level 3) - HTML 5 stuff - Write more complete documentation - Write more tests - Finishing checking for memory leaks (run all tests under Devel::Leak::Object) INSTALLATION The easiest way to install this module is to use the CPAN module or the cpan script: [sudo] perl -MCPAN -e "install HTML::DOM" [sudo] cpan HTML::DOM Or you can use the following: perl Makefile.PL make make test [sudo] make install DEPENDENCIES This module requires perl 5.8.3 or higher and the following Perl modules: - Scalar::Util 1.14 or later - Exporter 5.57 or later - HTML::TreeBuilder and HTML::Element (both part of the HTML::Tree distribution) (tested with 3.23) - URI (tested with 1.35) - LWP 1.13 or later - CSS::DOM 0.07 or later - HTML::Encoding is required if the parse_file method is to be used. - constant::lexical - Tie::RefHash::Weak 0.08 or higher, if you are using perl 5.8.x DOCUMENTATION After installing, you can find documentation for this module with the perldoc command. perldoc HTML::DOM Or try using man (it's faster, in my experience): man HTML::DOM COPYRIGHT AND LICENCE Copyright (C) 2007-10 Father Chrysostomos This program is free software; you may redistribute it and/or modify it under the same terms as perl.