Copyright 2007, 2008, 2009, 2010 Kevin Ryde

This file is part of RSS2Leafnode.

RSS2Leafnode is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation; either version 3, or (at your option) any later

RSS2Leafnode is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License along
with RSS2Leafnode.  If not, see <>.

Version 21, February 2010
    - test script allow for hostname() without a "."

Version 20, February 2010
    - newsgroup also as URL
    - more forgiving of bad non-ascii

Version 19, February 2010
    - new Atom support, better RDF
    - switch to XML::Twig

Version 18, February 2010
    - modularize a bit, prefer XML::RSS::LibXML for guid default

Version 17, January 2010
    - also try dc:publisher for From

Version 16 - update matching for google groups List-Post
Version 15 - use latest LWP content_charset and title
Version 14 - use my Time::Duration::Locale when available
Version 13 - use post and per-user config instead of rnews
Version 12 - either XML::RSS or XML::RSS::LibXML suit now
Version 11 - some split ups to modules, prefer XML::RSS::LibXML
Version 10 - use XML::RSS::Timing
Version 9 - add Content-Location
Version 8 - include Content-Language
Version 7 - catch parse errors on bad xml
Version 6 - fix for "w+" error message append
Version 5 - RSS charset override option
Version 4 - cope with cookies from
Version 3 - better charset handling
Version 2 - yahoo link id, google groups followup
Version 1 - the first version