Main Content

Answering ALL the delegate's Perl questions

Archive - Originally posted on "The Horse's Mouth" - 2006-12-09 08:36:42 - Graham Ellis

During courses, questions arise. "I'll get back to that" could make people feel that I'm brushing something off ... except that I explain, early on, that some questions require a great deal of background knowledge to be answered sensibly. And I keep a list of topics that I'll be getting back to on the board. The list is right by the door of the training room, and items get checked off as we go.

Here's the list that's on the board this morning, after the conclusion of a week of Perl training. I'll comment briefly on each subject so that you can get an idea of the sort of extras - the extras that you want - that we typically cover.

modPerl is an improved through-put way of providing a web based application in Perl. As opposed to the more common CGI approach, where a program is started each time a web page is called up, the program is left running within the Web server under modPerl.
Source example and related resources

Directory Parsing. We covered how to parse directories with struscures such as <*> and also opendir, readdir ... also a scheme for recursive directory parsing using a list as a queue.
Source example and related resources


Perl's ref function allows you to see what a scalar contains - whether it contains a reference to a hash (in which case is returns HASH), a reference to a list (ARRAY is returned) or a scalar (in which case you get SCALAR back. Although you won't want to say "what's in this variable" very often, there are times you do so when handling XML.
Source example and related resources


CGI - the Common Gateway Interface - allows Perl code to be run very easily through a web site, even if the original logic was coded for a different environment. We looked at how code is topped and tailed to "webify" and secure it.
Source example and related resources

Huge data and sorting. Sorting efficiency, with intermediate caching, and handling data flows that are so large they can't be stored in memory all at once.
Source example and related resources

An Introduction to Object Oreintation in Perl. Perl's OO offers a great deal - all the things like polymorphism and even multiple inheritance are covered. You can do some unexpected things too like change the type of an object once you've created it, and use polymorphism on a list of objects that aren't even based on the same subclass.
Source example and related resources

The Net::FTP module allows Perl to drive an FTP session in just a few calls.
Source example and related resources

The LWP module - Library for Web Processes - was demonstrated, with a "crawler" application to visit a few pages on a remote web site, mirror them locally and report on any changes.
Source example and related resources

And finally, we can back to look at how Perl uses SQL via DBI and DBD modules. Actually, this is something we do on almost every Perl course, as the requirement is a routine one. The DBD and DBI are tiny droplets of 'glue' that firmly bind the two monoliths of Perl and a database such as MySQL.
Source example and related resources

Delegate leave all switched on and lit up with Perl ... happy that we've provided answers to all the questins that they had, and prepared to extent their knowledge in their own field of work.