From: "James Sutton" <jas1@xit.net>
To: <letters@tpj.com>
Subject: Perl Certification
Hi. I am new to TPJ, and really like what I have seen so far. I have one question, though. I've found different sites for training and things of that sort, I was wondering if you knew of anyone that offers a Perl Certification Program? I'm not sure that I'll ever find one, or if there are any out there at all, but it would be neat to find out.
Thanx In Advance.
Tony Sutton
Tony,
There are none. And whether there should be one is a question very much open for debate. At the second O'Reilly Perl conference, Mark-Jason Dominus, Nathan Torkington, and I sold Perl Certificates. You named a title ("Perl Monger", "Perl Studmuffin", and "Perl Sultan" were all chosen), and an Official Perl Certification was immediately printed for you to take home and frame. To receive a certificate, you needed to show no qualifications other than the ability to open up your wallet and fork over $2. (This is like other certification programs, but cheaper.)
We did this as a joke, but also to emphasize the difficulty of certifying programmers accurately, and the brazenness of testing services who purport to be able to evaluate programming ability, and for a lot more than $2. It makes sense to certify that someone has passed a training course, but I challenge anyone to come up with an unambiguous written test for Perl that wouldn't have either a significant number of false positives (people who pass the test but aren't good coders) or false negatives (people who fail the test but are good coders).
When I evaluate Perl programmers for jobs, I always ask for a code sample. Sometimes I can see that the applicant knows a lot about the nooks and crannies of Perl, but can't design well. Sometimes I can see that the applicant can design well, but isn't knowledgable about the nooks and crannies. And sometimes I can tell when the applicant is a dork, like the fellow who applied for a job at O'Reilly and provided excellent sample code -- plagiarized from O'Reilly's Perl Cookbook. Smooth.
That said, I'd love to see a self-test that let you gauge your own level of Perl mastery. I've seen a few short versions ("You're a Perl guru if...") but nothing comprehensive that allows you to identify what it is that you don't know. Probably a hundred questions like these would do the trick:
7. Do you understand why it makes no sense to sort a hash?
14. Do you understand the difference between a list and an array?
84. Do you understand what it means for Perl to "walk the OP tree"?
The tough part is not coming up with the questions, but evaluating the answers, identifying which concepts need elaboration, and saying where to get more information.
-Jon
P.S. For more about question 14, see Nathan's article on arrays in this issue. Chip Salzenberg's articles in TPJ #11 and #12 answer question 84, and question 7 is answered every few issues.
JSP Shame
From: "Scott Ostroff" <Scott.Ostroff@hunterdouglas.com>
To: <letters@tpj.com>
Subject: Why is The Perl Journal running on JSPs?
Scott,
I wish I knew; back when I ran the site, it was 100% pure Perl. I do know that since the tpj.com site switched to use JSPs, many people have had trouble subscribing and manipulating their subscription details, so if you've had trouble you're not alone. Anyone having trouble should send mail to custserv@tpj.com.
Mail::Audit
From: Thomas Yengst <yengst@photon.com>
To: simon@brecon.co.uk
CC: letters@tpj.com
Subject: Automatic attachment extraction using
Mail::Audit
Simon,
I much enjoyed your Perl Journal article on filtering mail with Mail::Audit. I would imagine that it would be straightforward to also automatically extract attachments from incoming mail and drop them in some directory -- since I believe you're building on top of Mail::Mailer. I'm motivated by an environment where I am often disconnected from the primary network and want to get just the text of an email over a dailup link.
Anyway, thanks for the interesting article. I'm ripping out procmail right away.
Thomas
Parsing Natural Language Erratum
Dan Brian's article on Parsing Natural Language in TPJ #19 incorrectly states that the following regex will match everything but an 'O' link as explained in his article:
[^(?:O.{1,3}:\d+:\w+(?:\.\w)*)]While this worked for the examples in the article, the matching is not actually performed on the pattern supplied: this regex is a negated character class, and will simply match a sequence of characters other than those listed above. The proper way to perform this type of match is with a negative look-ahead assertion:
(?![^\)]* O.{1,3}:)Dan apologizes for the...um...glaring...mistake.
Thanks to Ronald J. Kimball for pointing this out.
Scanning HTML Erratum
In the mock press release in Sean M. Burke's "Scanning HTML" article, on page 52 of TPJ#19, the capital of Burkina Faso is identified as "Ougadougou" -- an unintentional misspelling of Ouagadougou. TPJ hopes that this typo has not offended our large Burkinabè readership.