Meant to be a combination of the best features of C, shell scripting, sed, awk, and so on, Perl was the first 'scripting' language I learned. And it's still what I end up using for quick scripts and text-processing programs.

Local link checker

Being a webmaster, I need to keep track of the links on my site(s), and make sure none of them are broken. Of course, it gets immensely tedious checking pages one-by-one, and I don't use a complete web management suite to build my site, so I can't have that do the checking. Moreover, most of my links are internal - they point to other pages on the site - and the link-checking software I've found on the Web has mostly used HTTP requests to check each and every link. Without loads of free bandwidth, I'd much rather have the server check the local filesystem.

So wrote a little tool in Perl to do it. It's been tested on the original Merton JCR site, with ~500 links, and it does that pretty fast so I assume it will be able to scale to at least 2/3 times that much. For his help in checking and adding to the script's functionality, thanks (and co-author credits) go to Rob Bradley. If anyone else wants to use it, go ahead - it's free as in speech and as in beer - and if you know Perl, I'd appreciate any comments!

Licensed under a BSD-style license.

Download/ View Source - it's labeled with an additional .txt extension to allow it to render in a browser.

ROT13 and ROT47 joke encryption

Looking through old encryption schemes I came across these, and use them to protect trivial stuff here and there.

ROT13 is a 13-character Caesar shift, a mono-alphabetic cipher that used to encrypt movie "spoilers" and other information people didn't necessarily want to read on Usenet - the idea being that if people did want to go ahead and read them they could decrypt ROT13 almost without trying (and later, when automatic decryption was built into the software, really without trying).

Similar to this is ROT47, which uses a larger set of characters (ASCII 33-126, I believe). For more information see Wikipedia. However for ease of use I wrote a couple of little Perl scripts to implement them, and if anyone can't be bothered to write one themselves here they are.

Licensed under the GNU GPL.

Download / view source of ROT13 or ROT47.