Revision history for Perl extension HTML::Parser::Simple. 2.02 Sun Jan 25 11:44:00 2014 - Rewrite bareword filehandles (INX) to use a variable (my $fh). - Rename github repo from html--parser--simple to HTML-Parser-Simple - My new standard. Update Build.PL and Makefile.PL to match. - Reformat the docs, and this file, slighty, to be <= 100 chars per line - My new standard. - Move t/pod.t to xt/author/. 2.01 Tue Oct 8 09:36:00 2013 - Incorporate repository references in Build.PL and Makefile.PL, from dsteinbrunner via github. Thanx. - Add 'use strict' and 'use warnings' to Build.PL and Makefile.PL, which I'm doing with all patched modules. - Add 'lib' to pre-preqs in Build.PL and Makefile.PL. - Take this opportunity to switch from Moos to Moo, which I'm doing with all patched modules. - Rename CHANGES to Changes as per CPAN::Changes::Spec. 2.00 Mon Nov 19 12:34:00 2012 - Implement a new API, using the pure-Perl module Moos. - The use of Moos means methods which could previously be called as class methods or instance methods must now only be called as instance methods. - The use of Moos means new() now takes a hash, not a hashref. See scripts/*.pl. - Details of the new API: --------------------------------------- HTML::Parser::Simple: New Old Mutators Getters and Setters --------------------------------------- block() - current_node() get_current_node(), set_current_node() depth() get_depth(), set_depth() empty() - inline() - input_file() get_input_dir(), set_input_dir() node_type() get_node_type(), set_node_type() output_file() get_output_dir(), set_output_dir() root() get_root(), set_root() tagged_attribute() - verbose() get_verbose(), set_verbose() xhtml() get_xhtml(), set_xhtml() --------------------------------------- HTML::Parser::Simple::Attributes: New Old Mutators Getters and Setters --------------------------------------- a_hashref() - a_string() - get() get_attr() hashref2string() - parse() parse_attributes() string2hashref() - --------------------------------------- - HTML::Parser::Simple::Reporter is a new module. See scripts/parse.attributes.pl. - Change calls from Carp::croak to die. You should be using Try::Tiny anyway :-). - Change the fix in V 1.07 which output tags and attributes in lower-case. As of V 2.00, tags are in lower-case but the case of attributes is preserved. - Scripts shipped in scripts/: Name Module o parse.attributes.pl HTML::Parser::Simple::Reporter o parse.html.pl HTML::Parser::Simple o parse.xhtml.pl HTML::Parser::Simple - Sample data used by the scripts: Name Input Output o parse.attributes.pl data/s.1.html Screen o parse.html.pl data/s.1.html data/s.2.html o parse.xhtml.pl t/data/90.xml.declaration.xhtml data/90.xml.declaration.xml - Add t/parse.html.t, t/parse.xhtml.t, t/traverse.file.t. - Make many changes to the docs. 1.07 Sun Nov 18 12:06:00 2012 - Replace /usr/bin/perl with /usr/bin/env perl. - Replace common::sense with use strict and use warnings, to get uninit var warnings. - Fix bug whereby code was assuming all tags were in the same case. This lead to the error: Can't locate object method "getParent" via package "root"... Due to the fix, the code now outputs all tags and attributes as lower-case. Thanx to Satya Nemana for reporting this problem (via private email). - Clean up the POD. 1.06 Sat Feb 5 15:57:00 2011 - Fix a bug where, if the 2nd or subsequent attribute had an empty string for the value, the code looped forever. Eg: name="a name" value="". For RT#65466. - Add corresponding test t/empty_attribute.t. - Clean up the code where the length of the attribute string was tested before spaces were trimmed. - Reformatted the source code and POD. 1.05 Sun Feb 21 12:55:17 2010 - Remove text 'All rights reserved' (for Debian licensing). - Remove POD heads 'Required Modules' and 'Changes'. 1.04 Mon Jan 25 09:37:00 2010 - Add MANIFEST and MYMETA.yml - Require Perl 5.6. Thanx to 'cpanservice' via GitHub - Reformat this CHANGES file - Remove trailing spaces from various files 1.03 Fri Jun 12 11:49:00 2009 - Improved tests and documentation (Mark Stosberg) - Added attribute parsing via HTML::Parser::Simple::Attributes (Mark Stosberg) 1.02 Thu Feb 26 11:24:00 2009 - Rename scripts/parse.file.pl to scripts/parse.html.pl - Ship scripts/parse.xhtml.pl - Ship t/Data.pm to read in test data from t/data/ - Rewrite t/*.t to use t/Data.pm - Patch Simple.pm to accept xhtml as a parameter to new - Patch Simple.pm to use xhtml in a few of places. XHTML support is not finished! - Patch Simple.pm to use accessors for object attributes as per PBP. Specifically: get/set_*() for current_node, depth, input_dir, node_type, output_dir, root, verbose, xhtml - Hence, rename root() to get_root() - Hence, rename verbose() to get_verbose() - Rename new_node() to create_new_node(), since that makes more sense when using get/set_*() - There are no methods get_result() and set_result(). The reason is efficiency. If we had $self -> set_result($self -> get_result() + '') it would mean duplicating the result so far each time a few chars were added - Ship various tests, with data, for XHTML - Add depth to the hashref of data for each tag's node in the tree - Put the code in github: git://github.com/ronsavage/html--parser--simple.git 1.01 Wed Feb 25 19:44:00 2009 - Add Tree::Simple to Build.PL and Makefile.PL - Patch POD to replace note about required module Tree::DAG_Node with Tree::Simple 1.00 Wed Feb 18 11:22:00 2009 - Original version