In a comment discussion, I mentioned my disdain for using Perl for anything larger than simple scripts or line-based text parsing (which is what it was invented for...see below). I received some pushback on this opinion from Shelly, obviously from her own experiences with the language. I enjoy pondering a dissenting opinion when based on experiences or data. She says:
Using a good OO design and programming techiques, a perl program is not a nightmare for maintainability...just like any other language (yes even assembly).
Obviously, I need to open my mind here. I guess my question becomes: Once you get to the point where you need to apply OO design and programming techniques, are there not more suitable languages for a project like that? I'm curious to know what other people's opinions are on this. What are the advantages of Perl over other truly OO languages? Why would you choose it instead of another language?
For your enjoyment, here's the original manpage for perl:
NAME
perl | Practical Extraction and Report Language
SYNOPSIS
perl [options] filename args
DESCRIPTION
Perl is a interpreted language optimized for scanning arbi-
trary text files, extracting information from those text
files, and printing reports based on that information. It's
also a good language for many system management tasks. The
language is intended to be practical (easy to use, effi-
cient, complete) rather than beautiful (tiny, elegant,
minimal). It combines (in the author's opinion, anyway)
some of the best features of C, sed, awk, and sh, so people
familiar with those languages should have little difficulty
with it. (Language historians will also note some vestiges
of csh, Pascal, and even BASIC|PLUS.) Expression syntax
corresponds quite closely to C expression syntax. If you
have a problem that would ordinarily use sed or awk or sh,
but it exceeds their capabilities or must run a little fas-
ter, and you don't want to write the silly thing in C, then
perl may be for you. There are also translators to turn
your sed and awk scripts into perl scripts. OK, enough
hype.