Welcome to the Llama book!
This is the fifth edition of a book that has been enjoyed by half a million readers since 1993. At least, we hope they’ve enjoyed it. It’s a sure thing that we’ve enjoyed writing it.[2]
You probably have some questions about Perl, and maybe even some about this book, especially if you’ve already flipped through it to see what’s coming. So, we’ll use this chapter to answer them.
If you’re anything like us, you’re probably standing in a bookstore right now,[3] wondering whether you should get this Llama book and learn Perl, or maybe that book over there and learn some language named after a snake, or a beverage, or a letter of the alphabet.[4] You’ve got about two minutes before the bookstore manager comes over to tell you that this isn’t a library,[‖] and you need to buy something or get out. Maybe you want to use these two minutes to see a quick Perl program, so you’ll know something about how powerful Perl is and what it can do. In that case, you should check out A Whirlwind Tour of Perl,” later in this chapter.
Thank you for noticing. There are a lot of footnotes in this book. Ignore them. They’re needed because Perl is chock-full of exceptions to its rules. This is a good thing, as real life is chock-full of exceptions to rules.
But it means that we can’t honestly say, “The fizzbin operator frobnicates the hoozistatic variables” without a footnote giving the exceptions.[*] We’re pretty honest, so we have to write the footnotes. But you can be honest without reading them. (It’s funny how that works out.)
Many of the exceptions have to do with portability. Perl began on Unix systems, and it still has deep roots in Unix. But wherever possible, we’ve tried to show when something may behave unexpectedly, whether that’s because it’s running on a non-Unix system, or for another reason. We hope that readers who know nothing about Unix will nevertheless find this book a good introduction to Perl. (And they’ll learn a little about Unix along the way, at no extra charge.)
And many of the other exceptions have to do with the old “80/20” rule. By that we mean that 80% of the behavior of Perl can be described in 20% of the documentation, and the other 20% of the behavior takes up the other 80% of the documentation. So to keep this book small, we’ll talk about the most common, easy-to-talk-about behavior in the main text, and hint in the direction of the other stuff in the footnotes (which are in a smaller font, so we can say more in the same space).[†] Once you’ve read the book all the way through without reading the footnotes, you’ll probably want to look back at some sections for reference. At that point, or if you become unbearably curious along the way, go ahead and read the notes. A lot of them are just computer jokes anyway.
The exercises are at the end of each chapter because, between the three of us, we’ve presented this same course material to several thousand students.[‡] We have carefully crafted these exercises to give you the chance to make mistakes as well.
It’s not that we want you to make mistakes, but you need to have the chance. That’s because you are going to make most of these mistakes during your Perl programming career, and it may as well be now. Any mistake that you make while reading this book you won’t make again when you’re writing a program on a deadline. And we’re always here to help you out if something goes wrong, in the form of Appendix A, which has our answers for each exercise and a little text to go with it, explaining the mistakes you made and a few you didn’t. Check out the answers when you’re done with the exercises.
Try not to peek at the answer until you’ve given the problem a good try, though. You’ll learn better if you figure it out rather than read about it. Don’t knock your head repeatedly against the wall if you don’t figure out a solution: move onto the next chapter and don’t worry too much about it.
Even if you never make any mistakes, you should look at the answers when you’re done; the accompanying text will point out some details of the program that might not be obvious at first.
If you want additional exercises, check out Learning Perl Student Workbook (O’Reilly), which adds several exercises for each chapter.
Each exercise has a number in square brackets in front of the exercise text, looking something like this:
[2] What does the number 2 inside square brackets mean when it appears at the start of an exercise’s text?
That number is our (very rough) estimate of how many minutes you can expect to spend on that particular exercise. It’s rough, so don’t be too surprised if you’re all done (with writing, testing, and debugging) in half that time, or not done in twice that long. On the other hand, if you’re really stuck, we won’t tell anyone that you peeked at Appendix A to see what our answer looked like.
If you’re a Perl instructor who has decided to use this as your textbook (as many have over the years), you should know that we’ve tried to make each set of exercises short enough that most students could do the whole set in 45 minutes to an hour, with a little time left over for a break. Some chapters’ exercises should be quicker and some longer. That’s because once we had written all of those little numbers in square brackets, we discovered that we don’t know how to add (luckily we know how to make computers do it for us).
As we mentioned, we also have a companion book, Learning Perl Student Workbook, which has additional exercises for each chapter. If you get the version of the workbook for the fourth edition, you will have to adjust the chapter order because we added a chapter and moved another chapter in this edition.
[2] To be sure, the first edition was written by Randal L. Schwartz, the second by Randal and Tom Christiansen, then one by Randal and Tom Phoenix, and now by Randal, Tom Phoenix, and brian d foy. So, whenever we say “we” in this edition, we mean that last group. Now, if you’re wondering how we can say that we’ve enjoyed writing it (in the past tense) when we’re still on the first page, that’s easy: we started at the end, and worked our way backward. It sounds like a strange way to do it, we know. But, honestly, once we finished writing the index, the rest was hardly any trouble at all.
[3] Actually, if you’re like us, you’re standing in a library, not a bookstore. But we’re tightwads.
[4] Before you write to tell us that it’s a comedy troupe, not a snake, we should really explain that we’re dyslexically thinking of CORBA.
[‖] Unless it is.
[*] Except on Tuesdays, during a power outage, when you hold
your elbow at a funny angle during the equinox, or when use integer
is in effect inside a loop
block being called by a prototyped subroutine prior to Perl
version 5.6.
[†] We even discussed doing the entire book as a footnote to save the page count, but footnotes on footnotes started to get a bit crazy.
[‡] Not all at once.
Get Learning Perl, 5th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.