Earl's Home Page Perl.com

Earl's Perls

How old am I? I'd rather not say, but I first typed "rm *" in 1977.

If you are interested, you can read more about me on my home page, but you probably came here to see some Perl. Help yourself, and let me know what you think.




EarlDB is a simple and easy to use web database — if you know HTML. EarlDB has been used on a variety of sites, including the University of Saskatchewan's First & Best and Mindfields databases, Peter Scott's Publishers' Catalogue, and HomeEnvy. If you are curious, try it out: the public view and the administrative interface.

Try out the University of Saskatchewan Meta-Search. I originally developed this software for the Economic Policy Institute in Washington, D.C. to search for publications of interest to economists including the EPI, the IMF, the OECD, the Upjohn Institute, and the International Labor Organization.

I wrote a script to conduct Canadian, Saskatchewan and World History Quizzes for our History Department. The software selects a few questions at random from a pool, displays them one at a time, and then tabulates the results. Here's some documentation and the source code for the quiz software.

I've done some work fixing up Webxref, and written a cgi front-end so that you can run it via the web. Originally written by Rick Jansen, Webxref is a Web link checker and cross referencing tool, intended to quickly check a local set of HTML documents for missing files, and broken links. You simply call webxref with a HTML document as the parameter. Webxref compiles a list of HTML documents, URLs, name anchors, images etc and the html files that reference those, i.e. a cross-reference list.

Here's a Random Image: [random image]

I also have a Pseudo-Random Image script, which changes its behavior depending on where you are. Most people get a different image each time they connect to the page, but if you are using a slow dialup line the image changes once a month instead.

Then there's What's New, a perl script that lists new and changed pages on a web server.

I've also written MakeIndex, which keeps index.html files up to date, by including a list of all the other html files in the same directory. That way, you can plop new files into a directory without having to remember to update the index.html file.

ErrStats analyzes the Apache error_log file and reports on the most common errors. It organizes the errors into several groups, so you can see at a glance which errors are missing files, which are authentication problems, and so on.

LinkStats uses the referrer information in Apache's access_log file to report on your most popular links. To use it, you have to make sure your web server's log file is in the "combined" format. It can:

Then there is my Invisible Editor which lets you edit files without changing their modification times.

Then, of course, there's the Time of Day in Saskatoon. This produces a live updating ascii-graphic of a town hall clock that was meant to go on the Saskatoon Free-Net, but somehow never got there. Here's the source code for the clock.

Finally, there is my favorite: Changeall - a perl one-liner that edits a whole bunch of files at once to make global changes.


Earl Fogel, U of S Information Technology Services, earl.fogel@nospam.usask.ca