68 of 69 people found the following review helpful
on January 6, 2000
'Elements of Programming with Perl' by Andrew Johnson is simply the best introductory Perl book on the market. It is patient in pace and rich in content. Concepts are introduced and explained in error free code. Diagrams are effectively utilized to reinforce understanding.
Having read Larry Wall's 'Programming Perl' and Tom Christiansen's 'Learning Perl' I was already acquainted with the basic constructs of the language. However as Perl is my first programming language I lacked the skills necessary to write effective reusable programs. 'Elements of Programming with Perl' early on presented the process of program design, and reinforced good design practice through well-organized code examples presented throughout all of the topical chapters.
Each chapter builds on & reinforces topics presented in previous chapters. I often found myself reading about a function I had been introduced to elsewhere, and upon following the book's example code finally discovering it's practical potency. As an example, prior to reading this book I had been capable of sorting lists of hostnames by domain only by inefficiently using a regular expression to copy the domain & pre-pend it to the beginning of the hostname. Then using the default 'sort' function followed by a loop to discard the pre-pended domain. Now I can tailor the sort function to serve my needs efficiently replacing that tangle of code with just three lines.
The book is well written with few wasted words and unlike most other authors this one understands & makes an effort to teach users of Active State Perl on Windows platforms as well as those using MacPerl. There are no sections or examples exclusive to Unix.
It is refreshing to work through and use examples that are not devoted to system administrative tasks. The chapter on module use demonstrates fetching web pages through code that retrieves stock quote and trade volume information and then graphically charts the data. How much more practical & timely can an example be?
The author makes himself available online, responds to questions, patiently reviews code and politely makes suggestions.
My tool bag now full, my understanding thorough I highly recommend this book.
22 of 23 people found the following review helpful
on July 13, 2000
Let me explain ...
I have no programming background other than the fact that I've picked up and tried reading several books on the subject of programming in Perl. (I do know HTML and I am a website developer. I just thought I would tell you this so you would realize where I might be coming from.)
I have purchased most of the books on the market that relate to getting started as a new programmer using Perl. Everything from 'Learn Perl in 24 Hours' .. to the Camel books (which are great for refenece purposes), etc. And if you've tried them, and felt frustrated, let me explain what made this book different for me.
First of all, this book is not written 'perfectly' clear. But then ... I haven't found one that is. But, what makes this book special is the offer and accessibility of the AUTHOR to each of the readers who purchase the book. The author, Andrew Johnson, is everything you could want in a teacher and coach.
With that being said, ... learning to program is not easy. (So, expect to work hard, read a lot, and practice writing code.) And, if you had your preference, you'd probably rather be in a classroom where you could ask questions of your teacher everytime you didn't understand something that was going on.
THAT IS WHAT MAKES THIS BOOK (or should I say TUTORIAL SYSTEM for learning Perl) THE BEST!
Andrew Johnson acts like your teacher and personal coach. He does an excellent job of laying out the information in the book ... as if you were in a classroom. Then, as you read through each chapter ... you will (and let me repeat ... YOU WILL) have questions.
I must say, I go to his online forum often, where I can ask anything I want (relating to the book) that I have a question on. And the answers I get back from him are not quick 'tidbits'. His answers are extremely helpful and written in plain english. JUST LIKE A GOOD TEACHER SHOULD BE!
I can't recommend the book ... AND HIS ASSISTANCE enough! It is absolutely the 'BEST' manner in which to learn PROGRAMMING WITH PERL - from the ground level up!
For about $35 ... you get the book and a TEACHER/COACH to ask questions of. What more could you want?
I am already on chapter 5 and getting more out of this book than all the others I read combined.
Gary M. Gordon Certified Web Developer email@example.com
19 of 20 people found the following review helpful
on June 16, 2002
I recently got a job at a telecoms company because of my experience with linux. I have no experience whatsoever in programming and they knew that and I was encouraged to learn Perl.
I bought this book after reading many reviews on it both good and bad. It was the bad reviews that told me this was the perfect book for a beginner. I like to think of myself as a person who likes to understand why I do things rather than just doing something because thats how it has always been done. This book did that for me.
Precise explanations of Perl style, syntax and regular expressions more experienced programmers take for granted were a welcome sight. Even though there isn't really a right or wrong way in perl this book teaches you the right way to do things along with the full explanations I required to understand why I was doing something one way and not the other.
The exercises following the chapters are challenging but not daunting. They allow you to use the knowledge you've learned in the previous chapters, even if at first it seems impossible, but to quote the author, "Programming is a matter of practice."
I recommend this to all who are new to programming in general and wish to make Perl their first language. Now all I need is a book on C programming that does the same this one is doing for me.
Yes, I have not read this book completely, yet I have done 3 useful scripts for work and I'm amazing myself. Perl is making my life and my co-workers' much easier.
17 of 18 people found the following review helpful
on January 26, 2000
I am pleased to recommend this book. As another reviewer wrote, I have also read Learning Perl and looked through Programming Perl, but while I was able to learn a fair amount from them, I kept feeling a bit lost when it came to things like how exactly do I use regexes and the types of data structures etc. I took a programming course in Pascal and Fortran too long ago (21 years), I think. At any rate, this book helped me feel a lot more confident with Perl - how to use CPAN, the abundant Perl documentation etc. I don't think that it would be the best book for a first-time programmer without an instructor, but if you have the stamina and perserverance to learn on your own, then this book is a must. Further, the book reads well. In addition, all errata in the first edition can be found at the publishers website, and are generally minor corrections.
10 of 11 people found the following review helpful
on June 13, 2000
Four or five other reviewers said this book "fills the gaps" between the O'Reilly books (Learning Perl & Programming Perl). I agree, but I had no idea what that meant until I bought the book. So here is what that means in practical terms. If you're like me, you know enough Perl to get the job done. You learned what you needed. But there may be things you never picked up, and this book will give you a lot of that.
Never learned about modules? Or worse, do you just put "use CGI" in your code without knowing what it means or how you could expand on it? Chapters 14 and 16 explain about modules, how to get them from CPAN, how to create your own, etc. Have you always thought the perlfaq was too obscure and massive to use easily? The faqgrep tool on page 49 will demystify it. Have you been looping through your arrays, trying to find matches with a regex (or worse, a string comparison)? That always seemed okay to me. But using the grep and chaining functions for arrays (in chapter 12) is more clever, and reduces loops to "that old brute-force method I once used" in some cases.
The bottom line is this book is very meat-and-potatoes practical. It will make your everyday work with Perl better, because you'll understand a lot of things that no one explained to all of us self-taught Perl programmers. And you may finally feel like someone clued you in to some of the better Perl tricks and concepts.
This isn't getting 5 stars from me for only two reasons. First, the index is missing a lot of stuff that I know is there, so I end up leafing back through the pages looking for a familiar spot. And second, there isn't any discussion of the Perl DBI -- not that I need it, but I was hoping there would be some insight and tips for that, since all the other stuff was so good.
9 of 10 people found the following review helpful
on January 9, 2003
This book does a good job of teaching "how to program" to a person with little or no experience in programming. I think it is one of the better books for green programmers. I also like the thorough explanations that teach the concepts of programming "step by step" rather than rattling off lots of code with weak explanations. This book also does a good job in not assuming you speak "computerese" by explaining a lot of terms commonly used like "scalar", "lists", "interpolation", etc. This book was a great stepping stone for me to be able to get into the meatier O'Reilly series.
Here's a couple of extracts: "Programming is about solving problems...Computers are mindless devices capable only of doing what they are told...When a method for solving a problem is reduced to a series of simple, repeatable instructions, we call that set of instructions an algorithm."
"...scalar variable, meaning it can only hold a single value."
"If you think of a variable as a storage bin with a name and an address, then you can think of a reference as a forwarding address. When you store a reference to another variable in a scalar variable, you are not storing that variable's value, but the address where its value is stored."
8 of 9 people found the following review helpful
on January 26, 2001
I agree with the statement that this book is a great intermediate step between the Llama (Learning Perl) and the Camel (Programming Perl). It is written in a very different style than the O'Reilly, and I am sure I will find myself using both. The O'Reilly is great for quick reference on syntax but Johnson goes into more depth, in a more narrative style, on how to *use* Perl in real software development situations. It is a great book to read cover to cover - it is less than 350 pages - because it teaches Perl through building a story from beginning to ... well, it's open ended. For intelligent beginners, it doesn't just teach programming in Perl but also concepts of planning a program and using best practices, including documentation. For programmers experienced with other languages (which is where I fit), it teaches Perl by weaving it into a "story" that we already know well, so it's easy to follow along with the flow and - surprise! - by the end, you know Perl.
The only criticism I would have is that, because of the narrative style, the book does not facilitate easy reference, and the index is poor, so if you need to find a nice piece of code you remember reading, you might have to dig a while.
5 of 5 people found the following review helpful
on December 31, 2001
6 of 7 people found the following review helpful
on December 1, 2001
There are an enormous amount of self-taught programmers that program with perl, especially in the areas of system administration and web development. If you are one of these people you must read this book.
Elements of Programming With Perl was the book I really needed, and I don't think there is another book out there that meets the same need.
If you are a self taught perl programmer, you should read this book, if not for your own sake, for the sake of the other people that have to deal with your code after you!
I won't try and say that the book is perfect because it's not, but it is excellent, and one of a kind.
It also provides a good introduction to object-oriented perl, and an ideal primer before moving on to the other Manning publication Object Oriented Perl by Damian Conway (which I also recommend).
Have fun programming perl :-)
(b.t.w. take no notice of the Amazon review, it completely takes the book out of context, the other reviews testify to the book's quality. Great book, thanks Andrew!)
3 of 3 people found the following review helpful
on February 3, 2001
I purchased this book, and like most - there are parts of it that are confusing. But, Andrew (the author) provides a forum by which he is there to answer all your questions. This makes such an outstanding difference. By using his forum, which is fabulous .. you can get clear answers to any qustions you may have related to the material covered in the book. If you've never programmed before, or even if you have ... you'll love the book, the excersizes, AND the support.