Master any programming language fast

The Perl Programming Language

Share
Like SyntaxCorect.com on Facebook
Be the first to rate this article

Many call it inelegant and ugly. Almost all agree however that it's also the «duct tape that holds the Internet together». Call it as you prefer but Perl is surely part of a story that, as the TIOBE index confirms, there is no chance at all that it's close to the ending

Introduction

The Perl programming language is a computer programing language first appeared on the scene 32 years ago (on December 18, 1987) It is an interpreted, dynamically typed, object-oriented (class-based), reflective, generic, event-driven, functional and procedural programming language with automatic memory management whose main purpose is to be an easy, high-level programming language particularly well-suited for tasks involving quick prototyping, system utilities, software tools, system management tasks, database access, graphical programming, networking, and web programming. Perl was created by Larry Wall and derives from the C programming language and to a lesser extent from sed, awk, the Unix shell, and many other tools and languages.

Since its inception Perl's main strengths have been tied to its then unsurpassed regular expression and text parsing and manipulation abilities. Still today, these strengths make it especially popular with web developers and system administrators. Mathematicians, geneticists, journalists, managers and many other people also use Perl.

First glance at the code

Example: The classic "Hello world" program written in Perl:

Main features of Perl

Technical features

Memory management

Perl offers automatic memory management. The interpreter knows the type and storage requirements of every data object in the program; it allocates and frees storage for them as necessary using reference counting, so it cannot deallocate circular data structures without manual intervention.

Perl libraries/ecosystem

The Comprehensive Perl Archive Network (CPAN) is the place to go to find, download and install Perl libraries. The repository offers over 25,000 modules of reusable code, for free.

Performance

Being an interpreted language Perl execution performance is aligned to other interpreted languages such as Python and Ruby, meaning that Perl programs run slower than C/C++ or even Java ones.

Run-time support

Perl is an interpreted language and as such it needs an interpreter to run. Perl 5 interpreter was made very portable and can run on almost any platform imaginable.

Other features

Free and open source

Perl is free and open source software made available under either the Artistic License 1.0 or the GNU General Public License.

Notable softwares/platforms/products written in Perl

  • Amazon started out as a huge Perl shop. Today Amazon uses a complex stack of languages including Java, C++ and Perl through Mason
  • BBC, the largest broadcaster in the world, uses Perl on its website
  • Booking, the largest online accommodation reservation website in the world, uses Perl extensively. Almost half of the IT department in Booking is made up of Perl developers
  • Shutterstock, one of the largest stock photography provider of the world, has the vast majority of their money making codebase written in Perl
  • Many, many other organizations around the world include Perl in their technology stack

Conclusion

In computer humor when source code is so arcane, complex, or ill-structured that it cannot be reliably modified or even comprehended by anyone with the possible exception of the author, expressions like "write-only code" and "line noise" are used, and the languages which allow the easy creations of such codes are called "write-only languages". Among all the widely adopted languages, Perl is the undisputed king of the "write-only languages". Yet it is still today a very widely adopted language. Why? Because it gives programmers a very speed start. You are immediately productive, and even if it's true that later maintenance and extension could become problematic, in the meantime you are up & running and can better focus on if your business is taking off or not. Well, it turns out that most of the times this is by and far more important than worrying since day one about the future scalability of the platform.