- Amazon Student members save an additional 10% on Textbooks with promo code TEXTBOOK10. Enter code TEXTBOOK10 at checkout. Here's how (restrictions apply)
Learning Perl Paperback – Jul 24 2005
Special Offers and Product Promotions
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
To get the free app, enter your e-mail address or mobile phone number.
"This book can be summed up as a solid introduction to Perl v5.8. There's no quick way to learn a language but finding time to work though this book will put you in good stead. Anyone past the basics of the language would be better off splashing out on "Perl Cookbook " or "Learning Perl". - Greg Matthews, news@UK, September 2005
Making Easy Things Easy and Hard Things PossibleSee all Product Description
Most Helpful Customer Reviews on Amazon.com (beta)
Chapter 1. Introduction
This chapter answers basic questions such as how to get and install Perl, how to construct a basic Perl program, and then takes you on a whirlwind tour of Perl.
Chapter 2. Scalar Data
As a general rule, when Perl has just one of something, that's a scalar, which is the topic of this chapter.
Chapter 3. Lists and Arrays
If a scalar is the "singular" in Perl, as described at the beginning of Chapter 2, the "plural" in Perl is represented by lists and arrays. A list is an ordered collection of scalars. An array is a variable that contains a list. In Perl, the two terms are often used as if they're interchangeable. But, to be accurate, the list is the data, and the array is the variable. You learn about these differences through practical code examples in this chapter.
Chapter 4. Subroutines
You've now seen and used some of the built-in system functions, such as chomp, reverse, and print. But, as other languages do, Perl has the ability to make subroutines. The name of a subroutine is another Perl identifier occasionally with an optional ampersand in front. There's a rule about when you can omit the ampersand and when you cannot, and that rule is discussed.
Chapter 5. Input and Output
This chapter covers the 80% of the I/O you'll need for most programs. If you're familiar with the workings of standard input, output, and error streams, you're ahead of the game. If not, you get you caught up by the end of this chapter.
Chapter 6. Hashes
In this chapter, you will see a feature that makes Perl one of the world's great programming languages--hashes. Though hashes are a powerful and useful feature, you may have used other powerful languages for years without ever hearing of hashes. But you'll use hashes in nearly every Perl program you'll write from now on; they're that important.
A hash is a data structure like an array, in that it can hold any number of values and retrieve these values at will. However, instead of indexing the values by number, as in arrays, you look up the values by name. That is, the indices aren't numbers but are arbitrary unique strings.
Chapter 7. In the World of Regular Expressions
Perl has many features that set it apart from other languages. Of all those features, one of the most important is its strong support for regular expressions. These allow fast, flexible, and reliable string handling. But that power comes at a price. Regular expressions are tiny programs in their own special language, built inside Perl. This means that you're about to learn another programming language, although, fortunately, it's a simple one. In this chapter, you'll visit the world of regular expressions, where, for the most part, you can forget about the world of Perl.
Chapter 8. Matching with Regular Expressions
In the previous chapter, you visited the world of regular expressions. Now you'll see how that world fits into the world of Perl.
Chapter 9. Processing Text with Regular Expressions
You can use regular expressions to change text, too. So far, the book has only shown you how to match a pattern. Now, you'll learn how to use patterns to locate the parts of strings that you want to change.
Chapter 10. More Control Structures
In this chapter, you'll see some alternative ways to write Perl code. For the most part, these techniques don't make the language more powerful, but they make it easier or more convenient to get the job done. You don't have to use these techniques in your own code, but don't skip this chapter. You're certain to see these control structures in other people's code, sooner or later.
Chapter 11. File Tests
Earlier, this book showed how to open a filehandle for output. Normally, that will create a new file, wiping out any existing file with the same name. Perhaps you want to check that there isn't a file by that name. Perhaps you need to know how old a given file is, or perhaps you want to go through a list of files to find which ones are larger than a certain number of bytes and not accessed for a certain amount of time. Perl has a complete set of tests you can use to find information about files, and that is the topic of this chapter.
Chapter 12. Directory Operations
The files created in the previous chapter were generally in the same place as your program. But modern operating systems let you organize files into directories, allowing you to keep your MP3 files away from your important work files so you don't accidentally send an MP3 file to your boss. In this chapter you'll see how Perl lets you manipulate these directories directly, in ways that are even fairly portable from one operating system to another.
Chapter 13. Strings and Sorting
Perl is designed to be good at solving programming problems that are about 90% working with text and 10% everything else. So it's no surprise that Perl has strong text-processing abilities, including all that can be done with regular expressions. But sometimes the regular expression engine is too fancy, and you need a simpler way of working with a string, as you'll see in this chapter.
Chapter 14. Process Management
One of the best parts of being a programmer is launching someone else's code so you don't have to write it yourself. This chapter shows how to manage your child processes by launching other programs directly from Perl. The examples in this chapter are primarily Unix-based; if you have a non-Unix system, expect to see some differences.
Chapter 15. Perl Modules
There is a lot more to Perl than what is in this book, and there are a lot of people doing a lot of interesting things with Perl. If there is a problem to solve, then somebody has probably already solved it and made their solution available on the Comprehensive Perl Archive Network (CPAN), which is a worldwide collection of servers and mirrors containing thousands of modules of reusable Perl code. If you want to learn how to write modules, consult the "Alpaca book". In this chapter, you learn how to use modules that already exist.
Chapter 16. Some Advanced Perl Techniques
The techniques in this chapter are only "advanced" in the sense that they aren't necessary for beginners. The first time you read this book, you may want to either skip or skim this chapter so you can get right to using Perl. Then come back to it later when you're ready to get more out of Perl.
Appendix A - Exercise Answers
Appendix B - Beyond the Llama
This books provides a wonderful, quick, easy read for beginners and pros alike. The knowledge of the language coupled with the coverage of core concepts, methodology, practices and practical programmatic thinking was a delight to read/review.
The basics are covered well: strings, numbers, control structures, subroutines, arrays and hashes, and most importantly, reading and writing files, and the mighty regular expressions. In fact, I've not read a better treatment of regular expressions anywhere else. Everything is clearly explained and well-written. Basically, this is the gold standard against which all introductory books to a programming language should be judged.
However, this book makes no claim to covering all of Perl. At least the main text of the book doesn't. I don't know what happened with the blurb on the back of the book, but it mentions, among other things: threading, references, objects, modules and package implementation. Technically, these topics are indeed present, but only in that a paragraph each is devoted to them in Appendix B. You will certainly learn nothing of any value about them.
There are some other minor quibbles: you may find the constant Flintstones references tiring after a while. Also potentially wearing are the sometimes inane footnotes, which breaks the flow of the reading experience for little reward. On the other hand, I found them a lot less annoying in this edition, so perhaps I've just mellowed out in the intervening years. Finally, the last chapter does a very whistlestop tour of map, grep, exception handling with eval, and array and hash slicing. I've never found the 'cram a bunch of stuff we don't have time to talk about into one chapter' approach to be very useful, and it doesn't work here, either. Fortunately, apart from the slices, it's all covered again at slightly greater length in Intermediate Perl.
Speaking of Intermediate Perl, if you want to learn Perl as a general purpose language, rather than for short scripts, you need to go and read that one next. Many suggest that you can graduate onto The Camel straight after The Llama, but I strongly disagree -- I tried and failed miserably.
But as long as you bear in mind you're only getting half the Perl experience, this is still the book I would thrust into the hands of anyone looking to learn Perl.
Because of that and the teaching style this book earns the 5 star rating.
Toward the end it hints at some of the other 'required' topics such as references, modules and objects. After you've read this book get a copy of Intermediate Perl to read up on those topics.
Look for similar items by category
- Books > Computers & Technology > Computer Science
- Books > Computers & Technology > Programming > Introductory & Beginning
- Books > Computers & Technology > Programming > Languages & Tools
- Books > Computers & Technology > Software > Business > Utilities
- Books > Computers & Technology > Software > Natural Language Processing
- Books > Computers & Technology > Web Development > Programming
- Books > Qualifying Textbooks - Fall 2007 > Computers & Internet
- Books > Textbooks > Computer Science & Information Systems > Programming Languages