Jerry Wayne Odom Jr.

Perl Web Programming

I've read several online tutorials in the process of learning to program useful networking tools and web agents. They've typically fallen into two categories:

  1. Those who just try to send you to advertising links to buy books on programming. In most cases they're never helpful because they're only trying to sell you books they've never read.
  2. Those who show you how to write a very simple program that performs no real function. They'll write an outline of a system using some modules and don't really do much but say: "This is the code, this is what it does, its so simple and wow its neat.".
While this can be helpful it doesn't address where they got their code or how the reader can learn more on the capabilities modules. So I've taken it upon myself to eliminate my boredom via writing a guide to web programming using UNIX and the Perl programming language.

For Those Wishing To Learn Through a Book - Honestly I haven't found anything besides O'Reilly and Associate's books useful when writing programs in Perl or other scripting languages. Thats why all the books I recommend are from their press.

  • Programming Perl, 3rd Edition - A very useful book which should be the center piece of your Perl book collection. This thick book tries to touch on just about everything. Its an introduction for new programmers, an intro to Perl for those used to other languages and it has tons of information to be a valuable reference. A great extension to this book but not a necessity would be Advanced Perl Programming which covers some additional information.
  • Perl Cookbook - This is one of my favorite resourches as it allows you to simply look up what you want to do and then do it. This book is what I used to go from never programming in Perl to doing whatever I wanted whenever I wanted. Hundreds of examples of those simple procedures which can be not so simple when you've never programmed in a language before. A must for the novice or the experienced programmer.
  • Perl & LWP - Want to write your own agents to go out and work with large amounts of web data for you? This is the book for you.
  • Mastering Regular Expressions - Effective use of regular expressions to manipulate data is a must for any real world programmer. This book will teach you how.

For Those Wishing To Learn Through Example - I'll post links to a few tutorials or sites I've found helpful and any code I've written myself for this particular purpose.

Perl Links

  • CPAN - This site is where I start when I have to do something new or just need a reference. Here you'll find anything that has to do with PERL. Highly suggested for the experienced programmer.
  • HTTP Class Descriptions - A very useful look at the HTTP subclass of HTML::TreeBuilder and many of its methods you won't find so easily on CPAN. Very useful for those wishing to write web agents.
Perl Examples

  • Making a request with Socket - How to open and use a Socket to make a raw request to a server. The good thing about this method is that you can duplicate requests to a server that look exactly like a web browser. This way you can tap resources that people wouldn't normally want you to tap programmatically without being detected. The bad is that handling complicated request programmatically can become a tedious thing when things like cookies, forms, ASP, etc become involved.
  • Making a request using the HTTP class - I will show how to make a variety of request including GET, POST and use of Cookies. This method is great because it uses an already written class to handle requests. It sucks in that you can't duplicate exact browser requests because it simply wasn't made to do so.(at least I haven't been able to make it work properly and if you have please let me know)
  • Heap Sort In Perl - Its hard to find non-trivial sort examples in PERL online. Here is a Perl Heap Sort Implementation
  • PERL Regex - A very helpful perl regular expressions tutorial
  • Regular Expression Buddy - A program for writing regular expressions in several languages. Very helpful tool and not very expensive.

Jerry Wayne Odom - (03/10/2003) - Las updated 4/2006