Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

The Perl 5 Programmer's Reference

by AgentM (Curate)
on Oct 09, 2000 at 20:38 UTC ( #35943=bookreview: print w/replies, xml ) Need Help??
Order The Perl 5 Programmer's Reference

Item Description: Wyke, Allen R. and Duncan, Luke- Ventana Communications Group (c) 1997

Review Synopsis: 3/5 stars. This book goes through the all of the built-in funcs and some modules. Includes nifty appendices.

$56 may make you turn green when you hear that this book is just a printed version of a select few of perldocs, but I think the appendices and the right to use the entire HTML version of the book on CD makes it somewhat worthwhile. The first part of the book runs through all of the man pages in perlfunc, including argument count as well as an explanation and a quick example. Sadly, the examples are so basic that they fail to provide any usefulness to advanced programmers- so they are useful only as a quick look at what the purpose of the function is. So those are ~200 pages which you might just as well find in the man/info pages. But all functions have a link to a related function which is neat when you just forgot how to change a char to its ASCII number (inverse functions and "further reading").

Part II goes somewhat in depth into some typical included modules in perl. (I believe that this book is somewhat dated and am unsure whether it has been rewritten so some libraries are deprecated.) It also has a quick section of typical modules not packaged. The modules desc. cover . pp. 221-300. Their descriptions are accurate but one can tell they are pressed for space and incomplete. Often, the examples are lacking in usefulness. But at least it mentions!!!

Appendix B (appendix A refers to the included CD) is a complete reference of the "perl special variables". This is the section I use most since the use of use English; is discouraged. I was never a sed or awk fan, so I was unfamiliar with the special vars. This appendix helped me to understand them. An example is included with each var. They are arranged in alphabetical order but since most of them don't include any alpha chars, they're somewhat difficult to find.

Appendix C is called "Reference Tables and Lists" which is a listing of

  • perl command line options
  • literals (__DATA__, \c, and other C-type slashed chars)
  • pattern matching operators- complete but with FATAL typos!!! definitely not nice.
  • formatting using format
  • operators (*,/,etc.)
  • loop control
  • debugger commands
  • ASCII char set
The only thing I have complaints about is the pattern matching issue throughout the entire book. The regexes are left wholly unexplained and the only hints you can get are from the table in the appendix. Ultimately, my resource is, which should not be surprising.

The debugging table in the back gives no examples of how to use the perl debugger.

Appendix D consists entirely of perl error messages. The explanation for most of the errors is "the error means what is says" and sometimes gives a quick example of what would generate such an error. Why anyone would need such an appendix is beyond my comprehension.

The only neato thing about this book is the included CD which is just all of the book- on CD in HTML format. All of the references to other things on the CD are hyperlinked for easy access, which really defeats the purpose of the book. But the book makes me feel all cosy and warm inside while I program and look down at it. Perhaps a second monitor would do the same thing. I have a inkling that the perldocs were "paraphrased" in the making of this book. Anyway, it accomplishes its task in being a "reference" so 3/5 stars. Since this review is so dry, I think I'll leave a reference here to Bone::Easy.

N.B. The CD is available whereever fine warez are "sold".

Replies are listed 'Best First'.
RE (tilly) 1: The Perl 5 Programmer's Reference
by tilly (Archbishop) on Oct 09, 2000 at 20:54 UTC
    Did the authors pay attention to the copyrights on the perldoc documentation? From perltoc in the 5.005_03 version:
    Bundled Distributions When included as part of the Standard Version of Perl, or as part of its complete documentation whether printed or otherwise, this work may be distributed only under the terms of Perl's Artistic License. Any distribution of this file or derivatives thereof outside of that package require that special arrangements be made with copyright holder. Irrespective of its distribution, all code examples in these files are hereby placed into the public domain. You are permitted and encouraged to use this code in your own programs for fun or for profit as you see fit. A simple comment in the code giving credit would be courteous but is not required.
    So feel free to borrow from the code examples in the documentation, but you are not free to just slap together the documentation, edit the content lightly, and call it a book.

    (Incidentally this site would be fine since it is attempting to display the complete documentation.)

    (Yes, I know there is irony in Tom Christiansen caring about this, but let's not talk about that in public.)

        I note, for the record, that the Artistic License says "or derivatives thereof"

        It's a grey area here; I think it's pretty clear that if I went through your code and just changed the variable names (say, something as simple as switching the cases) I haven't really produced anything new. While there's a little of the author's own work in a paraphrase of a natural language document, that's still probably close enough to count as a "derivative work."

        Philosophy can be made out of anything -- or less

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: bookreview [id://35943]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (3)
As of 2023-06-10 03:36 GMT
Find Nodes?
    Voting Booth?
    How often do you go to conferences?

    Results (36 votes). Check out past polls.