Web Development

CGI and Perl Tutorials

This is an extremely unsophisticated program that demonstrates evolutionary DNA. You start by passing it a string:

Spreadsheets can be powerful tools, and particularly so in the hands of an expert user. A spreadsheet can be used to reorganize data and to extract information not otherwise available. For example, at a client site, an application report generates a listing of hourly billing, but can’t give the cross-reference totals desired. The raw output looks something like this:

I’ve been using http://groups-beta.google.com/ for Newsgroup posting for a while now. It’s convenient for me because of my nomadic life style where I have different ISP’s and often different machines with varying OSes. Google only needs a browser, and they aren’t overly fussy about that, either.

Missing data can be very annoying to a programmer. In fact, it is so annoying that very often we’ll write separate programs to clean up data and eliminate unpleasant conditions so that the main program doesn’t have to deal with it. Here, I’ll show some examples of the kind of problems we see.

If you’ve used UNIX or Linux for some period of time, you’ve probably written a few Perl programs to automate simple tasks. Each of these programs does something basic and simple that might otherwise take you 10 or 20 minutes to do by hand. In this article, Sean will show you how to convert just such a Perl program into a far more robust programming project, one that will be generic enough to be widely distributed across many disparate platforms.

There are many tools available to analyze web page statistics. One of the most popular is Analog, but any web search will turn up hundreds or perhaps even thousands more. There are also options like Hitbox which provides statistics gained through code included in your web pages.

Any CGI programmer benefits from knowing and using ready-made libraries. In this article Eugene Logvinov shows how CGI modules taken from CPAN can not only help you to work effectively and conveniently, but can also provide you with an excellent code and reference library. Consequently, embedding POD (Plain Old Documentation) in the module turns out to be a good choice.

Before the wide spread availability of Perl, I would script ftp transfers with .netrc, ksh scripts and other clumsy ways. None of those methods are fun, flexible or easy. On the other hand, Perl’s Net::FTP module is all of that.

Recently I had a project that required a number of different programs that will mostly run all the time, but need to be restarted now and then with different parameters. Normally, the first thing I think of for a program that runs constantly is inittab or svc (daemontools). The svc facility is the more flexible of the two, and will be what I’ll use in the final design, but in the “thinking” stages I played with using a Perl program launcher and controller.

What we have is a config file that specifies programs

If you run Perl across many different computers of any sort, you know how frustrating it can be to install Perl extension modules across those machines. The administrative process is even worse if you have a Web server farm and need to keep each machine up to date with a set suite of extension modules for your installation.