Perl is a high level programming language invented by Larry Wall, and it's by far my favourite. Perl is a combination of all the good stuff found in other programming languages with a lot of its own good stuff added to that. Many other languages were inspired by Perl.
The onion logo is a trademark of the Perl Foundation. I like it better than the camel logo, which is a trademark of O'Reilly Media, Inc..
Historically, Perl is a Unix thing. But modern Perl runs on many platforms, including popular platforms like Windows and Mac OS, but also on platforms like MS-DOS, Novell, OS/2, PocketPC and even EPOC OS. Of course it still runs best on Unix-like systems like Linux and BSD.
While Perl has many features built in, much functionality is added with modules, that can easily be found at http://search.cpan.org/. A good example of how a module makes life easier is DBI, the database interface for Perl. It supports many database types through a single consistent API. Don't use Perl without modules. Installing a module is easy and once you know which modules to use, you can code much more in less time.
My favourite quote about Perl is probably:
Perl doesn't have an infatuation with enforced privacy. It would prefer that you stayed out of its living room because you weren't invited, not because it has a shotgun -- Larry Wall
My Perl publications
The documents perlunitut and perlunifaq are also written by me. They'll be in the next Perl release, but I haven't put them on my site yet.
You could read a book (I recommend Beginning Perl (Free download, or $30 for a paper copy)), but I still think reading the official documentation that comes with Perl is the best way to really get to know the language. If for some very strange reason you don't have the perl documentation installed, or if you just want an HTML version because you think it is prettier, visit perldoc.perl.org.
Using perldoc is easy. Document names start with perl, and are listed in the document called perltoc. Read it by typing:
Then, find a nice document to read and start doing so. perlfunc is a huge document that documents all functions that are built in. You quickly access a specific function's documentation with -f:
perldoc -f open
Do read the perlfaq pages. Don't walk straight into common traps. Again, perldoc provides an easy way to search the FAQs:
perldoc -q html
Fortunately, modules are documented too. To get PLP's documentation, for which you of course need to have PLP installed, just type:
For beginning Perl coders, I created a Perl cheat sheet that lists mainly sigils and operators. It has its own page so that it can easily be linked to. It's small and should fit on a mousepad in portrait layout.