Perl Modules
CPAN modules
You can find those modules in my CPAN Home Directory:
- XML::DOM::XPath is a helper module for XML::DOM that adds XPath queries (using XML::XPath) to it,
- Tree::XPathEngine, a module, forked from XML::XPath, that makes it (relatively!) easy to add XPath support to tree-based modules, like...
- Tree::DAG_Node::XPath, curiously enough, is a helper module for Tree::DAG_Node that adds XPath queries to it (using Tree::XPathEngine),
- XML::XPathEngine: an other fork of XML::XPath that can be used to add XPath support to DOM-like modules,
- HTML::TreeBuilder::XPath: adds XPath support to HTML::TreeBuilder, using XML::XPathEngine,
- App::xml_grep2: xml_grep2 is a grep-like utility, except it uses XPath instead of regular expressions (and thus of course only works on XML or HTML files),
- Params::Style converts named parameters from the_one_true_perl_style to theAwfullJavaStyle and vice versa, thus allowing a subroutine to accept named parameters following either convention.
Non-CPAN Modules
- Roman is an existing module by OZAWA Sakuro to which I have added distribution files (README, Makefile.PL, tests) and support for numbers above 4000. As the author cannot be reached any more, I have asked to become the maintainer of the module, and I am waiting for the Gods of CPAN decision.
- XML::SAX::Context: a sub-class of XML::SAX::Base that gives access to the parsing context. This one is not on CPAN because it still has bugs, especially when you subclass the module,
- XML::DOM::Twig is a helper module for XML::DOM that adds XML::Twig methods to it. I have never uploaded it to CPAN because I was to busy working on XML::Twig to take the time to clean this one up.
- Format:FileSize is a module that gives you the format_size function that displays a file size in a nice way. It never made it to CPAN because Format::Number does the same thing... and more, so there is really no reason to pollute CPAN with Yet Another Way To Do It (except I like the format in Format::Filesize a little better, hence I keep the module around).
- Class::SubclassDeep: a module that allows subclassing of objects generated by object factories, over which you normally don't have any control. Class::SubclassDeep is not on CPAN because originally I wanted to useit to subclass XML::DOM... but I didn't succeed. It is rather complete but XML::DOM does some rather funky stuff with Perl's OO system. So I'd rather not release a module that does not quite work.
- Data::Traverse: a module used to extract data from complex data structures, without needing to know all about them. It can also be used to traverse the data structures and to process each item in them in turn. I use it to process data from XML::Simple for example. Might end up on CPAN when I am satisfied that there is nothing better already available and when I think the module is complete.
- HTML::TreeBuilder::toSAX a module that subclasses HTML::TreeBuilder to allow it to export a SAX stream. Will go on CPAN as soon as I figure out whether an other module already does this, and when Sean M. Burke, the author of HTML::TreeBuilder will have given it his seal of approval.