With apologies to Messrs Gilbert and Sullivan... http://use.perl.org/~grantm/journal/35855
(As always, apologies if it's been brought here already)