Teach Yourself PERL in 21 Days
Author: David Till
Publisher: Sams Publishing
ISBN: 0-672-30586-0
Price: 29.99 USA/39.99 CAN
Reviewer: David Flood
The 846 pages of Teach Yourself Perl In 21 Days from Sams Publishing—two inches thick—are intimidating. Don't let the size of the book intimidate you, though, it's due not to the complexity of the language, but to the easygoing writing style of the author.
The book is divided into 21 days (chapters) of differing length, three review sections (at the end of each “week”), several appendixes, and a thorough index. Each “day” has a discussion of a part of the language, examples (either complete programs or code fragments), warnings, sections of “Do's and Don'ts,” and questions or problems at the end. Suggested answers to each “day's” questions are supplied in an appendix.
I started reading this book with no previous exposure to PERL; by the end of the second week I was beginning to see places where the language might be used in real world applications. The examples and discussions were clear and easy to follow. After completing the book, I started writing a simple application; so far I've been able to do everything in PERL that I need to do.
Some of the functions of PERL are also directly translatable to other programs. The discussion of Pattern Matching (Day 7) should be (with author/publisher permission) incorporated into the sed manual page; I'd never been able to get sed to do what I wanted until I read this chapter.
However, the copy of the book I received had a few problems. It was from the first printing and had several errors that the proofreaders had missed. Some of those early in the book would trip up new users of computers. For example, in the section on ftping the PERL file to install PERL on the reader's machine, a sample ftp session is presented. In the sample dialogue, the GET command wasn't followed by a file name: get . When I tried this, ftp told me I needed to supply a file name. I knew enough to do a ls p* to find the current file and then type get filename to get it. (I only did the ftp session to test the directions, since I had already installed PERL from my Slackware CD-ROM.)
Another hazard lies in the discussion of the required first line of a PERL program #!/usr/local/bin/perl. There is a small discussion of the fact that it must be the correct path of the PERL interpreter, but the only advice given is to talk to your System Administrator. Since several folks are their own System Administrator, this might cause problems. Since there are already “Unix Only” discussions in some of the chapters, a small discussion of the which command would be a welcome addition.
I was able to detect at least one error for every two chapters. Upon requesting an errata sheet from the publisher via their area on CompuServe (which they advertise in the book), I was informed that they would get back to me. A week later, they still hadn't. Since files containing errata for some of their other books are available from the area, I presume that the book is still too new for a sheet to have been compiled.
The only other problem that I have with the book is its classification of “User Level: Beginning—Intermediate.” Since I have taken classes in both C and Ada, I was able to relate some of the concepts that I had learned to this language. However, as I pointed out before, some of the ideas presented are definitely not for beginning computer users.
Generally, I would recommend this book for any person who wants to learn PERL. But this is not the book for a person who is attempting to learn a first programming language.
David Flood is currently a student in the School of Drama at the University of Washington. He plans to graduate sometime in 1996 and to get a real job. He is reachable (for now) at dcflood@u.washington.edu.
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- Linux Systems Administrator
- Senior Perl Developer
- Technical Support Rep
- New Products
- UX Designer
- Web & UI Developer (JavaScript & j Query)
- Designing Electronics with Linux
- Dynamic DNS—an Object Lesson in Problem Solving
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Featured Jobs
| Linux Systems Administrator | Houston and Austin, Texas | Host Gator |
| Senior Perl Developer | Austin, Texas | Host Gator |
| Technical Support Rep | Houston and Austin, Texas | Host Gator |
| UX Designer | Austin, Texas | Host Gator |
| Web & UI Developer (JavaScript & j Query) | Austin, Texas | Host Gator |
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?




3 hours 50 min ago
3 hours 51 min ago
5 hours 51 min ago
14 hours 36 min ago
15 hours 10 min ago
16 hours 9 min ago
16 hours 59 min ago
21 hours 1 min ago
1 day 48 min ago
1 day 56 min ago