|
| One Hour HTML -
Learn the language of the web in just 60 minutes. |
Perl: Cryptic Power by Anthony Stai
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:
Anthony Stai invites you to
take your
website to the next level. Get one of the best Search Engine
Optimization (SEO) books on the market for Free! Learn the techniques
that differentiate the amateurs from the pros. Get your book at http://www.makemoneyonline4you.com/seo.html
| | |
|