No, you don't find it in oysters, unless oyster is a new term used by Linux system admins. So what does
PERL stand for? Truth? Reason? Ease of use? Maybe it's one of these (from the free dictionary:)
PERL:
Practical Extraction and Reporting Language
Pacific Estuarine Research Laboratory
Pathologically Eclectic Rubbish Lister :-) Practically Everything Really Likeable
Pre-positioned Equipment Requirement List
Principal Exchange Rate Linked (securities)
Production Engineering Research Laboratory
Pupils Equal and Reactive to Light
Naturally, only one of hte above is correct. You'll find links to various PERL tutorials at the end of
the following article:
The Cryptic Perl
Perl is, let's face it, a programming language for people who know programming. It's extremely different from
PHP: you can't really just pick it up and use it.
Perl bears a lot of resemblance to C and Unix shell scripts, if that means anything to you - if it doesn't, you
should probably steer clear of Perl. If you're a reasonably experienced programmer who knows C and you're looking
to move onto the web, though, Perl will be a great fit for you.
Perl's Values
To understand Perl, you have to understand why it is the way it is. There are two phrases that sum up the Perl
philosophy: the first is "there's more than one way to do it", and the second is "easy things should be easy, and
hard things should be possible". It's disputable whether Perl makes easy things easy, but hard things are certainly
possible, and there's more than one way to do them. If that's the kind of language you're after, Perl is for
you.
Perl is a free language, and is closely tied to the wider open source movement. This means that you will be able
to find the source code to lots of useful scripts that have already been written, and take them apart to see how
they work. Unfortunately, though, you might find that easier said that done - trying to understand Perl scripts
written by other people can be very, very difficult, and that's one of the biggest criticisms of the language.
Why Use Perl?
Perl's strength, though, (as well as its most difficult element) is that most things you'll do with the language
will be done using regular expressions (known as regexps for short). This is what gives Perl its powerful abilities
to manipulate text, and make it good for complicated web pages.
The trouble with regexps, though, is that they look like complete nonsense to the uninitiated. All the unusual
characters on the keyboard have different meanings, like this:
| - Or. For example, me|you matches 'me' or 'you'.
? - Any one character (or no character), so per? matches 'perl', 'perk' or 'per', but not 'perks'.
* - Any number of characters.
( ) - Separate one lot of syntax from another. For example, you could write h(e|a)??o to match both 'hello' and
'halo'.
[ ] - Matches specific characters and ranges of characters. For example, [a-z] means any lowercase letter from a
to z, but no capital letters.
There are many, many more: Wikipedia has a good reference at http://en.wikipedia.org/wiki/Regular_expression.
Once you understand them, regexps let you do complicated things to text. One good example use is taking text
that isn't HTML, and writing a set of rules to turn it into HTML intelligently. Regexps can also be used to
validate data, such as this one that matches a valid email address:
[A-Za-z0-9]+@[A-Za-z0-9]+\.[A-Za-z]{2,4}
Can you see why people say they're complicated? This one means says that an email address must consist of any
number of characters between A to Z or 0 to 9, followed by an @, then the same again, followed by a dot, and then
2-4 characters that must be between A and Z, but not a number. Confused? I was writing it. Most people writing
regexps write ones that aren't perfect, and need to be improved before they will work every time. If you can
practice and master them, though, they give you a lot of power.
Doesn't PHP Have Regexps?
Well, yes, it does now - they were added by people who wanted to make PHP as useful as Perl is. However, PHP's
regexps aren't integrated with the language in the same way as Perl's are.
What Else Can Perl Do?
Perl has all the standard features of object-oriented programming languages: classes, functions, variables, and
the rest. One area where Perl is unusual, though, is that it has a very large library of user-contributed functions
that can be installed as 'modules'. These modules can be downloaded from CPAN (the Comprehensive Perl Archive
Network) at www.cpan.org. Whatever it is you want to do, the chances are you'll find a choice of modules
there that can do it - there are hundreds of modules for HTML alone, if you take some time to explore.
About the Author
Information supplied and written by Lee Asher of Eclipse Domain Services
Domain Names, Hosting, Traffic and Email Solutions.
Perl Resources
Beginning Perl Tutorials - This tutorial explains what you need to begin
programming your own CGI scripts with Perl.
PerlMonks Perl tutorials - Perl gets religion? They say: My first official
title in the company was "Perl Monk". I guess I liked the philosophy behind being a monk. There's a
religious connotation, and Perl is a language that some people take as seriously as a religion. Monasteries
are culturally known as centers of learning and knowledge, and that is a good analogy of what we're trying
to build.
PERL Tutorial - This set of tutorials takes you all the way from an intro to MySQL
manipulation.
A basic Perl Tutorial - this one is old, but if you're running version 4 it might be worth
looking at.
The Perl Directory for all things Perl: bugs, docs, news, community
Amazon books on Perl
|