Tag Archives: perl

Class::DBI, PostgreSQL and Transactions

Once again, I managed to see the dreaded ”<IDLE> in transaction” message from PostgreSQL today. This means that I have a connection to the database open, which is currently inside a transaction. This is bad because locks are held open in a transaction. So, what to do about it? Firstly, examine the documentation.

Perl CruiseControl Integration

Today and yesterday have been spent fighting with CruiseControl (CC). It’s a nice bit of software for doing continuous builds, like Mozilla’s tinderbox. Anyway, I got it running with a single project, the Money example from Test Driven Development by Example. Things I have learned about cruisecontrol: ant and junit suck. Suckage can be avoided […]

XML::LibXML Oddity

This afternoon at work, I came across something most odd with XML::LibXML: When you call removeChild() on an element, it loses its namespace declarations. For example, if I have this XML: <foo> <bar:bar xmlns:bar=”http://example.com/” /> </foo> Then, I call removeChild() on the <bar:bar> element, immediately followed by $node-&gt;toString(). And this is what I get back: […]

New Releases

I released new versions of XML-Genx and Config-Setting last night. No particular reason to do so, apart from seeing that my kwalitee ratings could be improved by testing for valid pod… In fairness, I do need to play with Devel::Cover a bit to see if my tests could be improved. And I need to carry […]

Perl Best Practices

Yesterday, I was reading Perl Best Practices on the train. I got nearly half way through in three hours. Then I came home and finished it off. I was completely taken by surprise as to both how readable and how incredibly useful it was. Conway is excellent at explaining not just what is a best […]


I released subatom last night. It’s a small tool to generate an Atom feed from subversion commit messages. It’s pretty simple right now, but now that the basics are there, I can improve on it. Why not RSS? Well, basically I spotted XML::Atom first and it was dead easy to use. And Atom just happens […]


As I mentioned earlier, I’ve been updating XML::Schematron. It’s been a few years since the last release and it doesn’t support Schematron 1.5, let alone ISO Schematron. So, I started hacking on it. Initially, it was to add support for XML::SAX, as a modern XML parsing system, instead of the old PerlSAX (which didn’t really […]

FreeBSD Perl Upgrade

Like quite a few people, I dread upgrading Perl on my FreeBSD box. It’s a lot of hassle because it involves rebuilding a large number of dependent ports to use the new Perl. So I was pleased to see this blog entry stating how easy it was with the right tools. So here we go, […]

XML::Genx Exceptions

I came across an interesting situation today. The exception thrown by XML::Genx showed up in completely the wrong place. I suspect that this is due to the fact that I’ve made it a dual valued scalar and Perl doesn’t want to overwrite by appending “at Foo.pm line 23” to the end of it. More investigation […]


After picking up XML::Genx again, I reorganised my SVN repository and noticed all the other old projects in there. So I’ve started playing around with Config::Setting again. It was originally written to attempt to provide a “better solution” than a hard coded global hash for work. But it turned out that people liked having a […]