Let us not forget the teachings of http://www.wall.org/~larry/: "Perl isn't an orthogonal language; it's a diagonal language. By which
we mean that Perl doesn't force you to always go at right angles." (Camel, sect 1.5 -- I found this via google (where it shouldn't be, so no link) not by inspection, so I'm not sure which ed.)
Warning: Unless otherwise stated, code is untested. Do not use without understanding. Code is posted in the hopes it is useful, but without warranty. All copyrights are relinquished into the public domain unless otherwise stated. I am not an angel. I am capable of error, and err on a fairly regular basis. If I made a mistake, please let me know (such as by replying to this node).