Useful Scripts I've Written

Here are a bunch of Perl scripts that I wrote. They are all either in use now or were once indispensible to me. Documentation ranges from poor to good, but most have help banners when run without argument. Email me with questions and comments if you's entirely possible I'll even respond.

ScriptDescription Command-line utility for deleting duplicate files within a file mask. Updated to version 1.1 as of 3 October 2005 (added much better syntax, including recursive search). Command-line utility to rotate JPG images from a digital camera according to the EXIF AutoRotate tag. Uses ImageMagick and a Perl EXIF extractor (see source for details). Command-line utility to dump the entire content of an IMAP account to text files suitable for archiving. Creates a tiny web server rooted in the current directory. Dead simple, with no security whatsoever. Useful for easy file transfer in a pinch. Displays a Windows message box specified on the command-line...intended to be executed by other programs. Win32 only. Command-line utility for regular-expression-based renaming. Recommend using -y option to preview changes before committing. Command-line utility to iterate songs in the current directory by controlling WinAmp via HTTP using the httpQ WinAmp plugin. For each song, you press a number key to move that song to a directory named for that number. This allows you to sort music into categories such as sucks and good with a minimum of interaction. Command-line utility apply a VirtualDub settings profile to a video. Uses the scripting interface. Requires VirtualDub, so its Win32 only. A quick and dirty web proxy...but not a traditional proxy. Allows you to go to, and be shown All HTML links will be translocated so that is prepended. Only supports GET method via HTTP/1.0, and gets confused by very strange URLs. It does well enough (it was used to defeat a dumb proxy that blocked Google). This ones a bit of a hack...I have a web server use this script as the Perl interpreter rather than /use/bin/perl. The script then forks a real Perl to actually execute the script, and collates the STDERR at the end in a box with red text. Thus, error messages appear in red at the bottom of the document rather than being hidden or logged...sort of like PHP.