Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Perl Programming Books Media The Media Book Reviews

Best of The Perl Journal 123

honestpuck writes "Computer magazines come and go at an unrelenting pace. The Perl Journal was one of the better ones before Jon Orwant, the editor and publisher, passed it to CMP. It is therefore pleasing to find he has taken all the articles published over the five year period, removed the chaff and published the rest in three volumes." Read on for honestpuck's lowdown on what you can expect in this set.
Computer Science & Perl Programming
author Jon Orwant (Editor)
pages 710
publisher O'Reilly and Associates
rating 8 (7 and 6 for other vols) - Well written, some flaws
reviewer Tony Williams
ISBN 0596003102 (0596003110 and 0596003129 for other vols)
summary Well edited compendium of magazine articles on Perl

All three volumes reveal a good hand at choosing articles and editing the contributions; after spending three years as a magazine editor I know that not all the contributors could have written this well. The writing is consistently good, tight, well edited and readable.

Across them all you will find articles by almost every major contributor to Perl and a great many of the people who have contributed major modules to CPAN. It's good to feel that perhaps a few cents from your book purchase is flowing into each of these pockets and repaying their work.

Viewing the 3 books as a whole my one real concern is that perhaps a little tighter restrictions on the article choice may have been better -- some of the articles are really only of historical interest, discussing methods overtaken by further development in Perl or the modules available. You may also find only one or two of the volumes contain articles of particular interest to you, I discovered that my favourites were spread across all three and bemoaned the semi-arbitrary division of topics as I only closely read about two books worth from the three volumes -- of course your milage may vary.

The first and largest volume, Computer Science & Perl Programming, is the one volume where I read and enjoyed almost every one of the seventy articles (by 41 different authors) included. The topics covered vary widely, from an essential trilogy of articles about regular expressions by Jeffrey Friedl to some esoteric discussion of Perl internals by Chip Salzenburg.

The second volume, Web, Graphics and Perl/Tk, contains 39 articles, around half of which are devoted to topics such as mod_perl, spidering, and other web stuff. Here is where you can find yourself reading an article about topics now made redundant by changes to Perl and its modules. The graphics section is an eclectic mix while the Perl/Tk section adds up to a fairly good tutorial on the topic.

The third volume, Games, Diversions and Perl Culture, collects 47 articles on a broad range of topics: 15 of them are about various sorts of language processing in Perl that I found extremely interesting. It also includes the Obfuscated Perl Contests, the Poetry Contest and a bunch of other "silliness." An article on how the magazine's covers were photographed seemed particularly pointless.

I'd recommend the first volume for almost anyone interested in Perl. The second might be worth purchasing if you wanted the web coverage. The third is worth it if you want the coverage of language processing or have an interest in the culture that surrounds Perl. Check the O'Reilly pages for one, two and three to see the tables of contents, index, grab the code examples and download a sample chapter (the third volume has two example chapters.) I've given the first volume an 8 but the other two get 7 and 6 respectively as the article choices make them less useful, though the quality of writing and editing is as good.

I think all three would be a marvelous addition to any decent tech library - they seem perfect for a library as they have all the benefits of a five year collection of TPJ without the problems of magazine storage, cataloging and conservation. For everyone else, grab the first one and then decide based on the content for the other two.

You can purchase Best of the Perl Journal (Volume 1, Volume 2, Volume 3) from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

This discussion has been archived. No new comments can be posted.

Best of The Perl Journal

Comments Filter:
  • by a XOR b XOR a XOR b ( 744728 ) on Monday January 26, 2004 @04:21PM (#8091887)
    Perl: Great thing to write, but people aren't sufficently motivated to read it unless they're trying to find something to use against you :|
    • by Junks Jerzey ( 54586 ) on Monday January 26, 2004 @04:27PM (#8091960)
      Perl: Great thing to write, but people aren't sufficently motivated to read it unless they're trying to find something to use against you :|

      Oh, enough of that already. The bottom line is that a programming language you are unfamiliar with looks like gobbledygook. I suppose you think Chinese and Russian are gobbledygook, too.
      • ADA is most definitely not gobbledygook. And Perl is one of the worst offenders of gobbledygook.

        I'm so out of the Perl loop that if I just need to do some text parsing, I'll use AWK every day over Perl. Understand, of course, that Perl is more than just text parsing; its truly the duct-tape of the web...
        • I am sorry but if you are disciplined enough to write tight code always, it matters shit little what language you use. Yeah, Perl can be a mess, but what it doesn't waste on nonsense like coding style, it makes up for in spades in doing what you want it to do -- friggin time. Now that being said, I don't use Perl for everything. PHP is my web language now, but I'd be damned if I would write do something like SNMP data collection with anything other than Perl. The modules are there to make it easy and if I h
          • what you want it to do -- friggin time.
            well, only if you are using mod_perl... ;)

            I am sorry but if you are disciplined enough to write tight code always, it matters shit little what language you use.

            I can't agree. I've had some perl programs that were measly hundreds of lines of code. Strict pragma all the way. A couple of not-so-tricky RegEx's. The kid who "inherited it" couldn't figure it out so the project got shelved.

            I see kloc upon kloc of ADA code... and even "Confusing" state machine loop
            • I can't agree. I've had some perl programs that were measly hundreds of lines of code. Strict pragma all the way. A couple of not-so-tricky RegEx's. The kid who "inherited it" couldn't figure it out so the project got shelved.

              Come on, either your code was poorly-written or the "kid" who took over maintenance wasn't competent. That's not intrinsic to the language.

              Some people get confused by their own native language. It doesn't mean there's something wrong with Kannada, or Bahasa Indonesia, or

        • I bet that anyone can write gobbledygook in any language if they take some kind of sick pleasure in that sort of thing. And I'll agree that Perl is one of the best languages for writing gobbledygook. But most Perl code I've read and written is, to me, very easy to read. Easier even than most C++, where to read any given line of code you need to look up a class header or two and pray they are thoroughly commented.

          I'm not a disciplened programmer by any standard, being mostly self-taught, but I can still
          • Their comment was that it was very easy to read.

            Then maybe you are a better programmer than I was.

            I support everything you say in your post- its all true. Perl IS a great general purpose language.

            But when I went to knock off a quick script that would take text input and chop things at 80 chars per line and add line numbers, I had a dickens of a time remembering my perl and getting it to work. (it wasn't chopping properly) Without opening a manual I was able knock out a quick awk script to do the same
            • I'll agree that Perl (or any programming language for that matter) does require somewhat regular use to keep it fresh. I guess I spend on average about 2 hours per week writing Perl. That's a very rough guess.

              Here's a Perl script to do what you want that's not too bad. I left out comments to be fair, but normally even for a tiny program like this I'd include a couple just to remind me what it's supposed to do and for a quick hint of what substr does:

              #! /usr/bin/perl

              $lineNum = 0;
              while (<>) {

      • Written Perl always seems intelligible at first browse but, as you look closer at it, the less you understand.

        I can live without synonyms as well - they just make maintenance that much hard. Maintenance isn't just about reading, although that's the step. IMO, the ultimate step is to understand the intentions of the programmer - Perl doesn't make this easy in the slightest and I maintain a number of large perl scripts.

        Just as the writers of Perl 6 (where is that, BTW?) are trying to make Perl more like Pyt
      • I really like perl for it's incredible text parsing and quick hackability...

        The problem people have with perl, including myself, is that if you ask 10 perl hackers to do the same task you are going to get back 10 completely different pieces of code.

        This can be an incerdible pain in the ass to deal with, espically if you have to maintain somebody elses code when they code in a completely different manner than you do. Consider this...

        while (something) {


        do {
        } while (something)

        I probably screwed

    • by Daytona955i ( 448665 ) <flynnguy24.yahoo@com> on Monday January 26, 2004 @05:02PM (#8092359)
      Haven't looked at much perl code have you? Sure perl is known for it's obfuscated code contests and it's Haiku poetry [slashdot.org]. But I think this misconception arises from it's flexibility. I think it also comes from regular expressions which can get quite cryptic quite fast, especially if you don't know what it means.

      However, as someone who just started learning perl, I think it's a great language. Learn a little about the language and then say it's hard to read. Heck, I could put all my c code on one line, does that mean it's a hard to read language?
      • I think a better way of putting it, is that you have to expound a great ammount of effort to make Perl readable. It's a great langauge for scripting and odd projects, but IMHO it's not the best language for full blown development. I have friends who swear by Perl, but I've also had to wade through quite a bit of ugly Perl code.
  • Just a question (Score:5, Interesting)

    by MrsPReDiToR ( 736605 ) on Monday January 26, 2004 @04:22PM (#8091902)
    Are they in your opinion worth reading if you haven't learnt perl yet? Its on my list to learn this year
    • Re:Just a question (Score:5, Insightful)

      by mekkab ( 133181 ) * on Monday January 26, 2004 @04:36PM (#8092072) Homepage Journal
      YES. While learning perl hands on, I found a bunch of TPJs to be invaluable resources. Heck, I've still got a bunch kicking around (one or two that were pre-glossy covered), thats how useful they are. If I ever need to Perl again, I've got them as references.

      I'd skip volume 3 (sounds kinda silly) unless you are a completist. Volume 2 sounds like the most useful and valuable- sure the article on Regular Expressions was GOOD, (I think I only read the first one) and understanding Perl internals would be a bonus, but the code examples of the web stuff is the best bet for my money.

      So get (or borrow) Volume 2, if you like, get Volume 1, and if you become a raving perl maniac, have someone get you Vol 3 for a birthday present.
      • Thanks for the advice. Im just a geek in training at the mo so any help I can get I'll accept!!! I know lots about too many subjects and not enough about any one thing. Perl appeals to me though so Ill let you know how Im doing next year!!!!
        • Re:Just a question (Score:4, Insightful)

          by mekkab ( 133181 ) * on Monday January 26, 2004 @05:06PM (#8092406) Homepage Journal
          Good luck.
          The Camel Book is a great resource, too.

          The secret to perl:
          In other programming languages, when the compiler can't figure out what you are doing, it cries and gives you a cryptic error message.

          In Perl, the compiler narrows it down to a few choices, flips a coin, and goes with one interpretation. Never mind that it wasn't what you intended! Frequent use of debug statements and USE STRICT pragma and USE WARNINGS pragma should help your code.
          • One thing that helped me was learning that all the error messages are in the Camel Book.

            your program should start:

            #!/usr/bin/perl -w

            use strict;

            After that you should receive good error messages. When I look them up in the Camel book I'd say 90% of the time the book explains exactly what I had done wrong.

            It's wonderful compared to the horrific error messages and stack trace spam that java gives me.

            • Don't forget the often overlooked "use diagnostics;" either!

              And if you're writing CGI's then for testing puposes something like "use CGI::Carp 'fatalsToBrowser';" can be a lifesaver too - but remember to setup something different when your code is in production use.

            • Re:Just a question (Score:2, Informative)

              by chromatic ( 9471 )

              Add use diagnostics; during development, and you may be able to skip the Camel step in many cases.

            • your program should start:
              #!/usr/bin/perl -w

              Then, when that doesn't seem to help, you switch to

              #!/usr/bin/ruby -w

              # :)

      • I'd skip volume 3

        Hey now, that's the one that has some of my code in it. Of course, I don't make any money off of it, and it's one of the obfuscated code contest 2nd-place entries... but I like knowing it's out there.

    • Re:Just a question (Score:2, Interesting)

      by Anonymous Coward
      Without having read the books you're referring to: probably not. I say that because Perl Journal material is/was pretty esoteric, and you'll spend a lot more time trying to figure out what they heck they're talking about than you will learning sleek, elegant, re-usable, intuitive, versatile, and fast coding methods. Which is what Perl really shines at.

      Further, Perl is a language that rewards exploration. You'll discover 20 wrong ways of doing things, and one day you'll settle into one you like for your own
      • Thats funny, my advise was a complete 180 of yours!

        I think all your points are completely valid. However for Volume 2 (which appears to be web stuff) its nice to see some code that does it. It gets you up and running. Then later on you can decide if you want to parse everything by hand crafted regular expression pattern matches, or relegate the grunt work to some module you Dl'd off of CPAN.

        Between TPJ and the Camel book I had enough to get my hands dirty and start writing some good code. I also lurked
    • The TPJ articles are directed at a more advanced audience. Depending on your programming experience, you should start with "Learning Perl" (less) or "Programming Perl" (more). The latter is a must-have for anyone serious about Perl. If you are more independent-minded, you can also use the perldoc documentation, but although it is very good, it is not as well-structured as, say, the PHP manual.

    • I've been reading the third volume and it has some interesting articles that you will be able to understand, I wouldn't try and learn from them. I would start with either Learning Perl or Programming perl (The Camel book) (or both). Once you start programming in perl, then I'd recommend getting the other books.
  • Damn CMP (Score:5, Interesting)

    by Roadmaster ( 96317 ) <roadmr@tomechang ... m ['ana' in gap]> on Monday January 26, 2004 @04:23PM (#8091909) Homepage Journal
    I'll never forgive CMP for running Byte Magazine into the ground only 4 months after I subscribed. They robbed me of 8 months' worth of subscription money and they even had the nerve to suggest switching my subscription to Windows Magazine. The horror! at least Byte was more encompassing and had general-interest articles about other platforms and computer science in general, not just Windows blabber and publicity. The thieves.. filthy little thieves... Don't ever let CMP run your magazine.
    • Re:Damn CMP (Score:3, Funny)

      by aled ( 228417 )
      Hey, they didn't offer Windows Magazine to me! Oh well, it could have been worst; they could had offer it.
    • Re:Damn CMP (Score:5, Informative)

      by elmegil ( 12001 ) on Monday January 26, 2004 @05:03PM (#8092371) Homepage Journal
      Sorry, but by the time you subscribed to Byte it was little more than a trade rag, and had been for ages. The Golden Age of Byte was back in the early 80's when they actually put out articles of general interest to electronics/computer geeks.
      • Yeah, the old Byte magazine was chock full of goodies back in the day. My parents bought me Popular Computing, but it was a special day when I picked up a copy of Byte. Had the best damn article on the computers behind the making of Tron than anyone else.

        Remember kids, if you could fit 12 issues of Byte on your magazine shelf, you're not reading the golden age of Byte. :)

  • by drquizas ( 681020 ) on Monday January 26, 2004 @04:25PM (#8091944)
    for Perl users if each entire article had been written on one line with no punctuation or spaces.
  • There must be some code in the comment submission code that checks makes sure all tags are closed and closes them if not (so posters can't screw up the rendering). Is there some reason that this same code can't be used in whatever script the editors use to post stories?

    Just curious, seems this happens at least once every few months.
  • Anyone thought about doing a run of particular covers as posters?

    I'd particularly like the one where someone attempts to compile perl on a typewriter.. (underwood? I can't find it in a GIS..)
  • I always wanted a computer book ;-) this one seems like it would suit me. Then again I have blown more than a few Sunday mornings reading www.perlmonks.org

    Reading perl is almost as much fun as writing it. In it's more 'condensed' styles it is much more challenging (read: fun) to decode than java and the 'tmtowtdi' ethos sparks a lot of creative architectures.

    For me learning perl was/is more fun than any other language I have tried, those docs can be hilarious. They also help keep your spirits up during
  • ...why does Brad Murray need such a very big bed? (vol. III, authors) Wonderful books, by the way. Highly recommended, although you might want to browse them at your library or bookstore to see which one(s) interest you first.

The best defense against logic is ignorance.