Computer Programs

What are these Programs

They are some fairly trivial, but useful, utility programs I have written. The ones on this page currently were written in Perl & so should work cross-platform (Linux, MS Windows, MacOS).

What Programs are here?

Name Function
RecursiveRegexpRename Bulk file & directory renamer supporting recursion into subdirectories, regular expressions for the search & replace terms, regular expression file name filter and a dry run mode.
SearchAndReplaceInMultipleFiles Bulk search & replace in multiple files supporting recursion into subdirectories, regular expressions for the search & replace terms, regular expression file name filter and a dry run mode.
DeleteEmptyDirectories Delete empty directories from a directory hierarchy.
HtmlHeadingsToTableOfContents Adds, or updates, a table of contents to an HTML page. The contents entries are obtained from HTML headings and the entries are hyperlinked to those headings.
HtmlImgAltTextExtractAndInsert Extracts all 'ALT' text (text alternatives to images) from an HTML file to a plain text file for easy editing etc. and puts it back into the HTML file again.
StripFormattingFromWordGeneratedHtml Removes the unnecessary junk that Microsoft Word adds to HTML files when converting a wordprocessor document to a web page.
WordsearchSolver Solves wordsearch puzzles. (Also generates them, crudely.)

Other Programs Downloadable from this Site

There are some Paint Shop Pro Python with the article of tips for scanning photographic prints for dusting, resizing & checking images. There are the Perl programs that created the tree of HTML dance note pages for the Cotswold Morris Dance notes, the ones for formatting the Balkan etc. dance notes pages, the ones for recovering lost emails from Google Desktop Search's cache and the one for rainbow colouring in labyrinths.

System Requirements & Installation

Unless otherwise stated, the only requirement is a Perl interpreter and that is freely available for many platforms (including Unixes, Mac OS & Microsoft Win32).

They were written in Perl because Perl is a good language for quickly creating simple text & file manipulation programs which is what these mainly are.

Installation of Perl programs/scripts is easy as the files are normally ready to be run as soon as they are downloaded (with the proviso that line breaks are converted to your platform's standard). If you are not used to Perl at all, I've some basic information about how to install and run Perl programs.

Disclaimers Etc.

I wrote these originally for my own use and am now giving them away free lest they are useful to someone else. They are not commercial products, are not guaranteed bug free, and I accept no responsibility for consequential damage from using them. (Frankly, commercial software vendors like Microsoft also disclaim such things even though they force their software upon people and charge them heavily for it; at least this software is optional & without charge. It is also open-source so you can fully check the program's internals, if you want to, for bugs before ever running it.)

I have only tested these on Microsoft Win 2k, Cygwin &/or Slackware Linux but they only use standard Perl, except where otherwise stated, so they should run on other operating systems okay.

I am not a dedicated computer programmer, these are not my commercially produced programs and I don't like programming anyway so these programs may seem a bit amateurish in the number of lines of code I have taken to do the job if you are a full time computer programming addict but they worked and are reasonably structured.


I am not providing any guarantee of continued support for these programs but if you have any suggestions for simple improvements or spot any crucial or easy to fix bugs then please tell me.

Obsolete Programs

The following programs I consider as obsolete but I have left them on this site lest anyone is still using them.

Name Function Reason
HtmlExternalImageLinksRemove Removes remote image links (typically just adverts etc.) from downloaded HTML pages so they can be viewed off-line easier. It only parses simple image links. Modern pages often contain CSS, Javascript, Flash etc. links too.
CopyFileToNextVersionAndOpen Duplicates a single file or whole directory whilst automatically incrementing the version number in its file or directory name then (optionally) opens the new file for editing. Integration with modern Windows & Linux file managers is badly documented. The mechanism for configuring opening files requires editing the source.
SourceFiles2TablessText Combines multiple C, C++ & Perl source code files into a text document without tabs suitable for use in a wordprocessor without the alignment being screwed up. The GNU source-highlight program is much better.