OO Perl Project
Examples list, explanations, interactive | Resources (including electronic form of project paper) | "Main Page" - what this site may some day evolve into |
List of Examples (click on each link to go its detailed description and/or download-view)
Detailed Descriptions of Examples
Simple StopLight: (view in browser ) or (right click to download, 'save target' if using Internet Explorer, add the suffix ".pm" when saving)
An example of a small Class that depends on good Data Hiding/Access Control and Modularity to get its job done right. Includes a "change" method which is ideally supposed to regulate the process of switching traffic lights on in the correct order.
checkInput: (view in browser ) or (right click to download, 'save target' if using Internet Explorer, add the suffix ".pl" when saving)
This is a console implementation of a simple form validator,
which demonstrates the use of regular expressions.
usage: perl checkInput.pl
wordCount: (view in browser ) or (right click to download, 'save target' if using Internet Explorer, add the suffix ".pl" when saving)
It is a common task to count the amount of occurrences of unique words
in a
document in the area of Information Retrieval. This script that takes a
text
file and outputs the word counts in a separate file could be used as a
module
for an indexer. The name of the output file is result.txt if not
specified
otherwise.
usage: perl wordCount.pl inputFile [outputFile]
-Tests the Simple Stoplight and finds it to be susceptible to error. Here is what it does (click on view link below to see for yourself): first it creates a stoplight and prints out its color, the default of yellow. Then, it breaks encapsulation by reaching directly into the stoplight class and changing the color to green (which would be very bad if it happened at a real stoplight!) , then it uses change() to change the stoplight back to yellow, but really this change should have changed it to red, if not for the improper meddling above
right click to download (standalone version, not modified to display results on the web) or (view in browser)
right click to download (webified version - very similar, not here yet, but this is the one that is actually running above)
online tutorials:
Object Oriented Perl - nice short introduction to OO Perl, not for Perl newbies and doesn't go into a lot of detail.
papers
Conway, D.M. Object Oriented Perl Cyberdigest - a nice overview of Conway's book - with selected commented extracts
other lists of resources
Perl Object Oriented Meta-Tutorial - from Perl Mongers - provides somewhat of an outline of how to get into Perl OO
Perl Stuff - just some perl resources, including a list of tutorials - includes pointers on creating "static class variables" something I tried once myself (this points out a pitfall related to my approach)
Object Oriented Language - Perl - lots of links - some just about Perl in general and not just OO, but many on OO. A category on the Cetus-links on Objects and Components resource site.
faqs
PerlFaqPrime - still under development, but has a few useful answers already
commentaries, opinions, works in progress
RFC 137 from dev.perl.org - this one is maintained by Damian Conway, discusses some deficiences/ future directions of Perl in the context of what appears to be a lot of praise for the current form of Perl OO..