I wrote a simple extension to LWP::ConnCache, which allows to somehow resolve keys before putting connections into cache.
Task is not very obvious until you understand that http://www.example.com/ and http://example.com/ are the same server and there is no need to open two connections if you want to get data from both sites.
Moreover http://*.livejournal.com and http://*.blogger.com are the same server.
how you do resolution – using DNS or using some other algorithm is left to developer.
Anyway – her it is: LWP::ConnCache::Resolving.
I fixed annoying bug in XML::RSS::LibXML which rendered multiple tags as one tag with value of ARRAY(…).
It was most often seen when multiple categories were assigned to feed item but affected all duplicate tags (I fixed similar problem specifically with enclosures earlier).
Hope that will not break feeds any more.
Now links in descriptions are being absolutized relative to original feed URL upon fetching. This is supposed to fix missing images and broken links which are caused by feed item being moved from original feed (preprocessed feed, then friends feed and so on).
I wrote perl class that allows changing all links in HTML code in one call (will be used for some other features as well) and a subclass that absolutizes it based on some URL.
It will be my first OpenSource Perl module that goes up on CPAN – it will be available soon at http://search.cpan.org/~sergeyche/
I had to add
DateTime::TimeZone::Alias->set( MSK => 'Europe/Moscow' );
to the code cause MSK is not recognized by DateTime::TimeZone module be dafault.
More stuff to research:
- list of timezones – http://www.worldtimezone.com/wtz-names/timezonenames.html
- list of available Perl modules: http://datetime.perl.org/?Modules