Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Perl for C Programmers Paperback – January 1, 2002
- Print length400 pages
- LanguageEnglish
- PublisherSams
- Publication dateJanuary 1, 2002
- Dimensions7.75 x 1 x 9 inches
- ISBN-10073571228X
- ISBN-13978-0735712287
Products related to this item
Editorial Reviews
About the Author
Product details
- Publisher : Sams (January 1, 2002)
- Language : English
- Paperback : 400 pages
- ISBN-10 : 073571228X
- ISBN-13 : 978-0735712287
- Item Weight : 1.45 pounds
- Dimensions : 7.75 x 1 x 9 inches
- Best Sellers Rank: #6,270,742 in Books (See Top 100 in Books)
- #249 in Perl Programming
- #941 in C Programming Language
- #2,024 in JavaScript Programming (Books)
- Customer Reviews:
About the author

Discover more of the author’s books, see similar authors, read book recommendations and more.
Products related to this item
Customer reviews
- 5 star4 star3 star2 star1 star5 star16%62%0%22%0%16%
- 5 star4 star3 star2 star1 star4 star16%62%0%22%0%62%
- 5 star4 star3 star2 star1 star3 star16%62%0%22%0%0%
- 5 star4 star3 star2 star1 star2 star16%62%0%22%0%22%
- 5 star4 star3 star2 star1 star1 star16%62%0%22%0%0%
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
Anyway, enough rambling. "Perl for C Programmers" wants to help us C programmers make the transition to Perl. It's an easy read and you can follow the explanations and code examples easily. You can pretty much grasp all the basics in no time, as the book quickly goes through how things are done in Perl vs. in C.
However, this book seriously lacks depth. First of all, a lot of important Perl constructs such as hashes and references are not explained clearly or in detail. If the camel book ("programming perl") is *too* detailed to the point of ad nauseum, this book is too shallow, and if you just rely on this book to learn Perl, you still won't be able to understand 80% of the code you might encounter. Second, the book gives only superficial treatment on the differences between C and Perl. Third, the book all too often scratches the surface of a topic, then refers you to the notoriously hard-to-read perldoc online docs for more details. For example, the sort() function is probabably one of the most important text-processign functions an everyday Perl programmer uses, and it's a rich function (to the point of frustrating many a poor Perl programmer), but the book only gives a very passing description.
What I noticed about the book -- and which pissed me off given how expensive this book is compared to other Perl books -- is it wastes a lot of space on stupid in-code comments (like the ridiculously looking arrowed comments for regexps) and regexp debug output (several pages long for somethign you'll probably never *want* to know). The feeling after reading the book was really one of emptiness, like the $18-per-head buffet I had last month on the Scotia Prince ferry that only served lettuce and tomatoes and roast beef and lobster shells.
Instead, I recommend starting with "Sam's Teach Yourself Perl in 24 Hours" if you want a quick kickstart on Perl, and "Sam's Teach Yourself Perl in 21 Days" if you have more time to learn. Then be sure to read the camel book "Programming Perl" for the finer subtleties of this frustrating beast called Perl. (You can skip the "Learning Perl" book as it has very little value-add.)
book.
My biggest obstacles to learning Perl have always been: the language's twisted,
almost willfully obscure syntax, and the chattiness, annoying humor, and equally
obscure tone of the language's leading book for beginners, which I will leave
nameless (hint: there's an animal on the cover.) It often seems as if both the
book and the language take a perverse pride in being so arbitrary, riddled with
exceptions and special cases, and overly complex. I'm sure most Perl people will
disagree with me, but most Java and C/C++ folks I know would not. We are really
past the point in history where it's funny or cute for a language to be so
difficult and obscure. More than ever, time is money, the latter of which is in
far shorter supply since the dot-com crash. We (and our bosses) just want to get
things done. Not everyone wants to be a funny hacker with a funny t-shirt who
thinks it's funny when no one else can understand their code. Unfortunately,
while Perl is the champion of the heavy-lifting in text processing, its extremely
flexible and often counter-intuitive syntax can make these benefits inaccessible
to many programmers. Furthermore, the unnamed introductory book has a chatty
folksy, verbose tone that seems to deepen and celebrate these faults.
Oualline's book turns out to be the antidote. Using a brief, business-like tone,
the author brings the logic and organization of the C language to bear in his
approach to teaching and using Perl. Here's a quote from the book that sums up
Oualline's mindset: "Perl's designers have stated that their philosophy in
designing Perl is 'There's more than one way to do it.' My philosophy is a
little different: 'There is only one clearest way to do it.'" Basically, by
taking a single, C-flavored route through Perl's syntax, shunning its more
confusing and counter-intuitive elements, Oualline provides you with an empowering,
working knowledge of the language. Once he gets you there, you finally see just
how awesome a language Perl can be, particularly for reporting and system
administration.
In short, Oualline teaches you to speak Perl with a C accent.
One example of this is the way he recommends that you write Perl subroutines.
Contrary to nearly every published piece of Perl documentation, he tells you
to declare all of them with parameter specifications. That is, if you are writing
a subroutine called "do_it" that will always accept two scalar parameters, write:
"sub do_it ($$) { . . . }" instead of "sub do_it { . . . }". Sure, this is less
fun and less flexible than not specifying parameters, which Perl will allow you
to do. But in Oualline's opinion, "[that] form of parameter passing should be
avoided. By using a parameter specification, you give Perl the capability to
do valuable parameter checking. Leave out the parameter specification, and you
invite chaos." Like I said, this goes against all conventional Perl wisdom, but
for people who are used to mainstream, highly-structured, strongly-typed
languages, it definitely makes thinking about Perl much easier.
The book has a few flaws and omissions. For example, while stressing that we
should specify parameters, Oualline forgets to mention that this means we must
either put subroutine declarations at the beginning of a progam, or use forward
references. Given his emphasis on parameter specification, he should have
mentioned this. Also, his discussion of parameter passing is incomplete - he does
not explain how directly accessing the @_ array in a subroutine will alter the
caller's copy of the parameters. Then again, the other introductory book I mentioned
doesn't cover these facts, either. I had to dig through perldoc to figure all this
stuff out. Finally, a chapter on accessing databases from Perl would have been
nice.
This book is not for everyone. If you want to learn Perl in all its gory details,
and, more importantly, if you want to adopt the style and mindset of the Perl
programmer, then you probably will want to look to another beginner book. Ditto if
you're the kind of programmer who's more interested in playing syntactical games
than in designing an effective architecture. However, if you are a programmer of
C/C++, Java, or a similar language, who just wants to get things done effectively,
clearly, and quickly, then this is the best route to go down.
For me this book makes is the perfect translation manual I needed to quickly get up to speed with Perl's method of working and idiosyncrasies.
It might not be primary reference book on Perl, but I found that this book along a good reference book on Perl I could be up and running on the language surprisingly quickly.