HTML::DOM, version 0.012 HTML::DOM is a Perl implementation of the HTML Document Object Model This is an alpha release. So far, the level-1 DOM interfaces and the level-2 core interfaces have been implemented, and some of the level-2 event and style sheet interfaces. CHANGES IN THIS RELEASE Incompatible changes: • The parse_file method now uses HTML::Encoding to detect the encod- ing of the file, if given a file name, and if the encoding has not been set with the new ‘charset’ method or the constructor’s new ‘charset’ option. It used to assume ISO Latin 1. It still treats file handles the same way, though; that is, it assumes the file han- dle is producing Unicode text (you have to ‘binmode’ to set the encoding if that’s not the case). New features: • The constructor now accepts a ‘charset’ option which is used by parse_file and by the make_request method of form elements. • A ‘charset’ method has been added to HTML::DOM, which returns the encoding passed to the constructor or that parse_file used. You can also use it to set it. • parse_file’s return value is now useful: true upon success; false upon failure (to open the file) • Upward references in the object tree are now weak references. • I’ve started work on Level-2 HTML features. So far, • HTML::DOM::Interface lists HTMLOptionsCollection as a separate interface from HTMLCollection and • HTML::DOM::Collection::Options now throws an error if length is set. • A callback routine passed to event_attr_handler now receives the offset within the source of the attribute’s value as the fourth argument. • Attribute methods of elements now support implicit attri- butes (those with default values in the DTD). Bug fixes — see the Changes file TO DO - Add support to HTML::DOM::Interface for UTF-16 methods. - Add Level 2 HTML support - Finish Level 2 Events support - Finish Level 2 CSS support - etc. - Write more complete documentation - Write more tests 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.2 or later 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) - HTTP::Headers::Util is required for writing cookies. - HTML::Form 1.054 is required if any of the methods provided for WWW::Mechanize compatibility are to be used. - CSS::DOM 0.02 or later - HTML::Encoding is required if the parse_file method is to be used. - constant::lexical 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 Father Chrysostomos This program is free software; you may redistribute it and/or modify it under the same terms as perl.