1[Module] 2Name=HTML::Parser::Simple 3Changelog.Creator=Module::Metadata::Changes V 2.05 4Changelog.Parser=Config::IniFiles V 2.83 5 6[V 2.02] 7Date=2014-01-25T11:44:00 8Comments= <<EOT 9- Rewrite bareword filehandles (INX) to use a variable (my $fh). 10- Rename github repo from html--parser--simple to HTML-Parser-Simple - My new standard. 11Update Build.PL and Makefile.PL to match. 12- Reformat the docs, and this file, slighty, to be <= 100 chars per line - My new standard. 13- Move t/pod.t to xt/author/. 14EOT 15 16[V 2.01] 17Date=2013-10-08T09:36:00 18Comments= <<EOT 19- Incorporate repository references in Build.PL and Makefile.PL, from dsteinbrunner via github. 20Thanx. 21- Add 'use strict' and 'use warnings' to Build.PL and Makefile.PL, which I'm doing with all 22patched modules. 23- Add 'lib' to pre-preqs in Build.PL and Makefile.PL. 24- Take this opportunity to switch from Moos to Moo, which I'm doing with all patched modules. 25- Rename CHANGES to Changes as per CPAN::Changes::Spec. 26EOT 27 28[V 2.00] 29Date=2012-11-19T12:34:00 30Comments= <<EOT 31- Implement a new API, using the pure-Perl module Moos. 32- The use of Moos means methods which could previously be called as class methods 33or instance methods must now only be called as instance methods. 34- The use of Moos means new() now takes a hash, not a hashref. See scripts/*.pl. 35- Details of the new API: 36--------------------------------------- 37HTML::Parser::Simple: 38New Old 39Mutators Getters and Setters 40--------------------------------------- 41block() - 42current_node() get_current_node(), set_current_node() 43depth() get_depth(), set_depth() 44empty() - 45inline() - 46input_file() get_input_dir(), set_input_dir() 47node_type() get_node_type(), set_node_type() 48output_file() get_output_dir(), set_output_dir() 49root() get_root(), set_root() 50tagged_attribute() - 51verbose() get_verbose(), set_verbose() 52xhtml() get_xhtml(), set_xhtml() 53--------------------------------------- 54HTML::Parser::Simple::Attributes: 55New Old 56Mutators Getters and Setters 57--------------------------------------- 58a_hashref() - 59a_string() - 60get() get_attr() 61hashref2string() - 62parse() parse_attributes() 63string2hashref() - 64--------------------------------------- 65- HTML::Parser::Simple::Reporter is a new module. See scripts/parse.attributes.pl. 66- Change calls from Carp::croak to die. You should be using Try::Tiny anyway :-). 67- Change the fix in V 1.07 which output tags and attributes in lower-case. 68As of V 2.00, tags are in lower-case but the case of attributes is preserved. 69- Scripts shipped in scripts/: 70Name Module 71o parse.attributes.pl HTML::Parser::Simple::Reporter 72o parse.html.pl HTML::Parser::Simple 73o parse.xhtml.pl HTML::Parser::Simple 74- Sample data used by the scripts: 75Name Input Output 76o parse.attributes.pl data/s.1.html Screen 77o parse.html.pl data/s.1.html data/s.2.html 78o parse.xhtml.pl t/data/90.xml.declaration.xhtml data/90.xml.declaration.xml 79- Add t/parse.html.t, t/parse.xhtml.t, t/traverse.file.t. 80- Make many changes to the docs. 81EOT 82 83[V 1.07] 84Date=2012-11-18T12:06:00 85Comments= <<EOT 86- Replace /usr/bin/perl with /usr/bin/env perl. 87- Replace common::sense with use strict and use warnings, to get uninit var warnings. 88- Fix bug whereby code was assuming all tags were in the same case. 89This lead to the error: Can't locate object method "getParent" via package "root"... 90Due to the fix, the code now outputs all tags and attributes as lower-case. 91Thanx to Satya Nemana for reporting this problem (via private email). 92- Clean up the POD. 93EOT 94 95[V 1.06] 96Date=2011-02-05T15:57:00 97Comments= <<EOT 98- Fix a bug where, if the 2nd or subsequent attribute had an empty string for the value, 99the code looped forever. Eg: name="a name" value="". For RT#65466. 100- Add corresponding test t/empty_attribute.t. 101- Clean up the code where the length of the attribute string was tested before spaces were 102trimmed. 103- Reformatted the source code and POD. 104EOT 105 106[V 1.05] 107Date=2010-02-21T12:55:17 108Comments= <<EOT 109- Remove text 'All rights reserved' (for Debian licensing). 110- Remove POD heads 'Required Modules' and 'Changes'. 111EOT 112 113[V 1.04] 114Date=2010-01-25T09:37:00 115Comments= <<EOT 116- Add MANIFEST and MYMETA.yml 117- Require Perl 5.6. Thanx to 'cpanservice' via GitHub 118- Reformat this CHANGES file 119- Remove trailing spaces from various files 120EOT 121 122[V 1.03] 123Date=2009-06-12T11:49:00 124Comments= <<EOT 125- Improved tests and documentation (Mark Stosberg) 126- Added attribute parsing via HTML::Parser::Simple::Attributes (Mark Stosberg) 127EOT 128 129[V 1.02] 130Date=2009-02-26T11:24:00 131Comments= <<EOT 132- Rename scripts/parse.file.pl to scripts/parse.html.pl 133- Ship scripts/parse.xhtml.pl 134- Ship t/Data.pm to read in test data from t/data/ 135- Rewrite t/*.t to use t/Data.pm 136- Patch Simple.pm to accept xhtml as a parameter to new 137- Patch Simple.pm to use xhtml in a few of places. XHTML support is not finished! 138- Patch Simple.pm to use accessors for object attributes as per PBP. Specifically: 139get/set_*() for current_node, depth, input_dir, node_type, output_dir, root, verbose, xhtml 140- Hence, rename root() to get_root() 141- Hence, rename verbose() to get_verbose() 142- Rename new_node() to create_new_node(), since that makes more sense when using get/set_*() 143- There are no methods get_result() and set_result(). The reason is efficiency. If we had 144$self -> set_result($self -> get_result() + '<tag>') it would mean duplicating the result so far 145each time a few chars were added 146- Ship various tests, with data, for XHTML 147- Add depth to the hashref of data for each tag's node in the tree 148- Put the code in github: git://github.com/ronsavage/html--parser--simple.git 149EOT 150 151[V 1.01] 152Date=2009-02-25T19:44:00 153Comments= <<EOT 154- Add Tree::Simple to Build.PL and Makefile.PL 155- Patch POD to replace note about required module Tree::DAG_Node with Tree::Simple 156EOT 157 158[V 1.00] 159Date=2009-02-18T11:22:00 160Comments=- Original version 161