Title: Minimal Perl Subtitle: for UNIX/Linux People Publisher: Manning Publications Author: Tim Maher Foreword by: Dr. Damian Conway Publication Month: October 2006 Pages: 504 ISBN: 1932394508 Price for Softbound Print Copy: $44.99 Price for PDF ebook: $22.50
Smiley Rating: Very good :) :) :) :) of 5.
This is a very good book on Perl especially tailored for Unix/Linux users who wish to learn some Perl. If you don't know Unix/Linux at all, this book is probably not for you.
The body of the book consists of two parts, each 6 chapters long. Part I is called "Minimal Perl: for UNIX and Linux Users"; Part II is called "Minimal Perl: for UNIX and Linux Shell Programmers".
If you have some experience with Unix but no experience with Shell programming, you can still benefit from this book. Part I of the book should work for you. If you've used grep, sed, awk or find, Part I should be especially interesting to you.
If you have experience programming, you'll benefit from Part I of the book but really get into Part II. If you have experience with Shell programming with Bourne shell, Korn shell or Bash (or some other like shell), you'll find Part II especially interesting.
Do you want more detail? If so, you could check out my somewhat longer review.
George Woolley of Camelot.pm and Oakland.pm
Note: If you don't get the ebook, this section is irrelevant.
Given a page number p in the paper book (e.g. the page numbers in the table of contents, the list of tables and the index), you can easily calculate the corresponding ebook PDF page number e. Just use the following formulas:
I found it quite useful to be clear on the above.
But perhaps you wish to look up a word or phrase in the index. You could use the following table:
| initial letter(s) | first ebook page |
|---|---|
| symbols | 482 |
| numeric options | 484 |
| A | 484 |
| B C | 485 |
| D E | 488 |
| F | 489 |
| G H | 491 |
| I J K | 492 |
| L M | 493 |
| N | 494 |
| O P | 495 |
| Q | 496 |
| R S | 497 |
| T | 500 |
| U | 501 |
| V W | 502 |
| X Y Z | 503 |
Last I checked the price for the eBook was about 1/2 the cost of the paper version.
What you get is a time window for downloading a PDF. You can then read the PDF at your leisure.
There are a number of useful things on (or accessible from) the Manning Publications' page for the book including:
There is a whole website for the book. There you will find (among other things):
I found some other interesting things doing simple searches such as perl "Tim Maher". One thing I found especially interesting was:
The following is included with the hope of getting some people to slow down and lighten up: Perl and other random fun. And since Crocodile Hunter is in the book, how about Crocodile Invented Game.
While there is much to learn in this book, the book is also fun. One part of the fun is simply the terms used.
The following are some of the fun terms that occur in the index:
Oh, and in the text, but not in the index :(, you'll encounter such terms as:
Two characterizations of Perl referenced in the book that I particularly enjoy are:
My understanding is that Minimal in the title means the author:
Well, hopefully you already have some idea what Perl is. But just in case here are some characterizations of Perl:
The author intends for Unix/Linux People to be interpreted broadly in two ways:
Well, I'll deal with the easy points first:
But what of the use of the word Minimal? On the one hand:
On the other hand, at least if the reader gets the book at a book store:
All in all, I'd say the title fits the book. :)
I've been using Unix since 1989.
I worked for several years at a Unix training company developing self-teach course materials. I was the project manager and one of a number of author's for the first edition of "Unix Made Easy".
I taught an intensive course focusing on basic Unix commands as part of a certificate program at San Francisco State Extension.
I've used many different flavors of Unix. Currently I primarily use Linux.
I've never used awk much. It never seemed intuitive to me. Once I learned Perl, it seemed pointless to learn awk.
I don't use find a lot, but I've used it from time to time ever since I learned it. I see it as a valuable tool.
I still use grep (and egrep) regularly. Often I use grep to explore a particular set of data. Sometimes this is preliminary to writing a Perl program.
I often use grep with other Unix commands such as cut, sort and wc.
At one time I used sed a lot. Currently I don't use it at all.
My first shell as a command-line user was the C shell. However, when I wrote shell programs I used the Bourne shell.
Since I learned Perl, what few Shell scripts I write are typically incredibly simple. It's been years since I wrote a shell script that used any control structures.
I think of myself as a minimalist, a postmodern minimalist, but still a minimalist.
Here are some examples of things I've done that I consider minimalist:
One of the things I found especially rewarding about these adventures was that I became really clear about what I considered essential in the domain. The simplest example was the creation of FateRole; I became super clear that what I valued the most was role playing as opposed to all the complex mechanisms (dice, manuals, character sheets, etc.) that supposedly support it.
I began programming in Perl in 1994 and it has been my favorite language since then.
I learned Perl from a 110 page (when printed) man page.
For a short period of time I used Perl one liners intensively. I haven't been using them at all recently.
I don't have the habit of using many options on the shebang line. More specifically I don't take advantage of the options I learned to use in Perl one liners.
What I wanted (and expected) from reading the book was:
I read all of the book including:
The version of the book I read was a PDF ebook.
I downloaded the source for the examples. However I didn't generally run them.
By the Head I mean simply that which comes before the body.
For me, the most important parts of the Head are:
By body I mean the chapters and the parts that include them.
There are two parts. Each part consists of:
There are 12 chapters. The shortest chapter is 13 pages long; the longest chapter is 57 pages long; the average chapter length is 35 pages. Each chapter consists of:
By the Tail I simply mean that which follows the Body.
The Tail consists of an epilogue, 2 appendixes, a glossary and an index.
The index is 22 pages long.
Certain elements, especially, support the use of the book as a reference:
Based on the title and the reputation of Manning and the author, I expected that once I read the book I'd feel comfortable recommending it to Unix/Linux people who want to learn Perl. I do now feel comfortable recommending the book to such people. :)
I also expected to learn a few things about Perl. I did. :)
IMO the most important thing I learned was that insights for one liners are often relevant to small Perl scripts. I expect my approach to small scripts will change significantly. I'll also likely begin writing Perl one liners again.
I didn't have any expectation that I'd enjoy the book, but I did. :)
The author intended the book to be entertaining as well as informative. It was for me. I particularly enjoyed the characters the author used in his examples which were entertaining and also helped me to see the relevance of the examples.
I also enjoyed the author's use of the English language, especially his choice of terms.
I learned a few things about specific Unix Commands I can use at a shell prompt that may come in handy, e.g.:
What I learned may turn out to be useful later.
This was an unexpected bonus. :)
I like the author's approach of focusing on Unix/Linux people. :)
I believe that one of the reasons Perl seemed so intuitive to me (when I was first learning it) was because I had a background in Unix.
It makes sense to me to have a Perl book focused on Unix/Linux people. The author takes excellent advantage of this focus in his presentation.
I like that the author teaches a subset of Perl. :) To do otherwise would be a daunting task. Perl is too vast to teach without some such strategy.
It's helpful to me as a reader (and I would guess to the author as a teacher) that the author is aware of teaching a subset of Perl and makes that explicit.
Over 500 pages for a book that has Minimal in the title. That doesn't work for me. :(
The author gives good reasons for including what he did in the way he did. But my gripe isn't about the content of the book; my gripe is with the title.
Generally, Perl culture loses out in this book. I take it back. Certainly, the importance of Laziness is conveyed. And the author's sense of humor which is consistent with Perl culture pervades the book.
However, certain aspects of Perl culture are not emphasized enough for my taste, e.g.:
:(
I do understand the author is somewhat limited by the title, but personally I consider these aspects of Perl culture to be essential to Perl.
Most beginning texts on programming particular languages that I've encountered seem to assume that it makes sense to do so without teaching the novice to program. Based on my experience, I disagree.
I'd at least like to see a chapter on testing. :(
The index is rather good, and it actually includes quite a few cross references. Still, I wasn't always able to find things easily. :(
Here are two examples of the kind of cross reference I'd like to see added
You may very well not care about any of my gripes. No problem here.
This book would be good for people who have all of the following characteristics:
For Part II of the book, in addition to the above, the following characteristic is needed:
This book would not be good for people with any of the following characteristics:
If you are a Unix/Linux user and wish to learn Perl, I recommend this book.
Complete Draft Available on Web: 2006-10-27q
A few minor changes: 2006-10-28b
Small addition and change to Short Review: 2006-11-02b
Small changes re font-size, font-weight, color: 2006-11-02d
Removed draft status: 2006-11-04