Nikos Vaggalis set out to write about the latest edition of Learning Perl, the classic beginner's guide to Perl that is often referred to by its nickname "The Llama". But he ended up writing a much more extensive article about Perl itself.
What? another book on learning Perl ? But,I thought that Perl was dead!
On the contrary, Perl is alive and well as demonstrated by Perl Myths (http://blog.timbunce.org/2008/03/08/perl-myths/)
But, are people in this age of VM's and PHP ruling the Internet still using Perl?
Indeed yes: Perl is recognized as a force by the industry as demonstrated by 25 Reasons Why Perl Keeps Rising in the Enterprise and the Perl Job site is flooded everyday with dozens of vacancies from all over the world
I see, but why not just wait for Perl6 and skip Perl5 altogether?
But you are already seeing parts of Perl6 incarnated into Perl5 with the latter greatly benefiting from the development in Perl6, getting constantly injected with modern and innovative features.
What is also greatly misunderstood is that Perl6 will not actually replace Perl5. In fact there is a strong movement that insists on Perl6 getting a name change to indicate that there are two separate languages and that 6 is not a replacement for 5! A parallel that might help to clarify this idea is having VB6 and VB.NET running side by side and not VB.NET killing VB6 off. (Nothing is implied as to each language’s capabilities and no comparison is intended between Perl5 and VB6, and between Perl6 and VB.NET. It is simply an example to get the point across.)
Not everyone will be eager to jump onto the Perl6 bandwagon as Perl5 has a strong and established infrastructure in commerce and businesses.
Moving to new and uncharted territory is tough and risky and there should be enough motivation and benefits in engaging to such a radical switch, with immediate results being doubtful. Furthermore having knowledge of Perl5 will make the transition to Perl6 much easier, but nevertheless Perl5 is a modern, agile and versatile language itself and can stand firmly on its own.
Why should I learn Perl?
Being backed up by the open source community is another advantage over languages that are governed by a single vendor like Microsoft’s VB.NET and Oracle's Java, with all the disadvantages this strict relation with a propriety vendor carries; like deprecating VB6 'just like that' or dumping IronRuby and IronPython altogether. Is there possible danger for VB.NET,C# and the whole .NET platform as Dumping .NET - Microsoft's Madness leads us to believe?
Who knows, but history surely has a habit of repeating itself....
The essence of Perl
If those reasons were not enough for you to consider start learning Perl, let's take a look at the essence, what the language itself has to offer :
Without even using a VM runs on hundreds of sparse and diverse architectures, from Solaris to Windows 7
Perl can be applied to all fields of Computer Science raging from working with databases, regular expressions and parsing, sys admin, developing for the web and the desktop, networking and much more; you name it
The richness of the language itself, being highly idiomatic with a natural and expressive syntax as well as being a full blown programming language; don’t be fooled by the ‘scripting language’ description which circulates all over the internet
I never understood why it got that label, but I guess it probably is because of its archaic relation to the Unix shell tools awk, sed etc. Mastering the language will open the doors to a world where “Hard Things are Possible” and even enter the realms of functional programming as MJ Dominus’ book Higher Order Perl demonstrates. I don't know of many scripting languages that can do that....
But at the end of the day what matters most is that you get your job done quickly and efficiently while having lots of fun at the same time
After clearing up a lot of misunderstandings around Perl and established why we should consider programming in Perl, we need some resources in order to proceed. Namely a good IDE (this is optional but highly desirable nowadays) and a good start-up guide in the form of a book that will take you by the hand and guide you step by step through the maze of data types, subroutines, regular expressions, process management etc of the language .
Fortunately as far as the IDE goes, we now have Padre that not only is a solid environment but looks as if will it also remedy an issue that gave people excuse not to prefer Perl for large projects. That is, not the language itself, but the lack of IDEs and code generators, like C# having Visual Studio, or even PHP having Eclipse. Padre is looking to reverse this trend.
And as for the guide we now have the 6th edition of Learning Perl from three of the most prominent names of the Perl world; Randal L. Schwartz, Tom Phoenix and brian d foy. They have a lot of titles under their belts, see for example the reviews of Effective Perl Programming and Intermediate Perl and surely know how to address both a beginning as well as a more advanced audience.
This title has auspiciously reached its 6th edition and has recently been fully updated up to Perl 5.14; since a lot has changed from version 5.10 to 5.14 this revision was needed to bring everything up to date.
The book is well written, carefully planned with each chapter logically anchored to its previous one, and follows a tutorial based approach which renders it highly usable in a classroom. Its main aim is to get you started with the basic building blocks of programming in Perl while backs theory with practice by requiring the reader to tackle the exercises at the end of each chapter
The chapters themselves are short and contained and look like they have just the proper material and length as to not tire and disorient the beginner while humorous comment, even self-sarcastic ones, scattered throughout the book help lighten the load on the beginners’ shoulders and encourage you to try again if at first you don't succeed.
If you are looking for an agile,modern,robust, truly multipurpose and multiplatform language as well as one that is dynamic (in attitude) and that will constantly surprise you no matter how many years of experience you possess or will possess, then this 6th edition of the legendary Llama book will provide you with a first class opportunity to start learning Perl. Turn to Learning Perl 6th Ed to read my chapter-by-chapter review of this book, which I've awarded a 5-star rating. The review also illuminates key aspects of Perl which make it such a powerful language.
In conclusion, Perl has proven its resilience; it not only refuses to show signs of aging, getting rejuvenated at milestones throughout time, but still drives innovation after 20+ years and it looks to keep it that way for many years still to come.
A remarkable achievement indeed.