First, it looks like we've hit max depth on this thread, I can't reply to Nicks post (this is probably a sign that I should shut up now :))
Sorry, I was not very clear in my first post. The job was advertised clearly being on a web system, looking for experienced developers. I don't have a copy of the ad any more, but I'm quite sure it specifically stated OO as wanted experience.
My main point with the first post was to highlight the disconnect between the level they graded themselves at, and the level at which they actually were. If I'm talking with someone claiming to be an experienced Perl web developer, I'd expect, among several things, they would have OO experience.
(If anyone's interested in the end of the story -- we gave up on trying to find a senior person, and instead went with a guy who did not have much experience at all, but came across as very keen to learn. It worked out very well).
edit: oh, now I have a "reply" link under Nicks post. oh well, too late.
HN has a function whereby reply links don't appear immediately, there's a time delay (I think a few minutes) until they appear. The idea is to prevent people replying rashly to a comment that strikes a nerve, and to encourage rational discussion.
I think that's a totally fine and reasonable thing to say. However, I would then say 'I can't find any Perl programmers with the skillsets and domain knowledge I need', rather than 'The general level was shocking ... Sad state of affairs indeed.
This discussion has focused on OO, but my point was that their general level was very low -- it wasn't just a lack of OO experience.
Good knowledge in some other area would have made it a lesser issue that they didn't have OO experience, but they were generally lacking knowledge across the board.
In the absence of information I can freely speculate about your job vacancy.
Your proposed salary was low, your offering uninteresting, etc.
Myself, I crossed Perl and Python (and Ruby, and Smalltalk, and Lisp and many others) from list of languages to discriminate good programmer from not so good one a long time ago. They just did not get used in anything I consider interesting or important (but I still prefer domain knowledge - so lisper with relevant past is still interesting).
Right now I would use Haskell (or even stronger typed language like Coq or Agda) as a requirement, and my proposal would include DSeL for problem domain with Perl backend (if Perl is that necessary).
I will get much less resumes initially, those resumes will be of higher quality and my employee will produce a tool that allow me (us as a team, actually) to retarget our product to another backend quickly if we need to do so.
When I started Haskell (early '99) I touched OO (C++) but wasn't like it much.
Actually, I specifically searched for a language that wasn't OO but provide all the benefits of OO when I found Haskell. The standard library back then was about twenty or less modules.
I don't really match against most of my colleagues right now, they done much more OO than me.
So, until recently I was really competent programmer with Haskell experience in useful programs that hadn't done OO. ;)
Of course, the answer is "by utilizing experience of others" or "comparing my efforts to others' efforts".
That's how progress works, I was told.