After we got XML::RSS to a stage where it has 100% test coverage, it was possible to refactor things with more assurance that we don't break anything. So I did exactly that and gave XML::RSS a facelift.
Among the things I did were:
Meanwhile, Ask ran perltidy on the "lib/XML/RSS.pm" module itself to make its style more consistent. (Which I may have broken somewhat since then, but since the perltidy configuration file is in the repository, we can run it again.) With all of these changes, the code looks much better, than it used to before I started working on it.
I still have some changes I'd like to make in the pipe, like converting each RSS output version into a class and using the convert conditional to polymorphism refactoring, and making the XML parsing functions accept the XML::RSS object handle as an argument, so we can use true methods there instead of just functions inside the same namespace. I'm still waiting for Ask to approve these changes as he didn't reply to my email about it yet.