As perlfaq1 says, But never write "PERL", because perl is not an acronym, apocryphal folklore and post‐facto expansions notwithstanding.
Anyways about that test, I'm not sure whether what you're looking for is better described as "decent" or "has the right mix of experiences". Would I pass? I'm not entirely sure. I believe that I have some Perl and would nail #1 and #4. Depending on the tester I might not do as well on #2 - while I understand basic OO theory and terminology, if your definition of OO terminology requires correctly explaining long lists of design patterns, I could get tripped up. (I've never worked with people who actually think in terms like, "I'll stick a Visitor pattern here...") On #3, I do little enough C that while I could easily give you pseudo-code over the phone immediately, I'd be likely to get the C code wrong on the first try. And #5, again I don't do a lot of C. I'll get a lot of them right. But some, well while I can tell you that a float handles "floating point numbers" to some limited precision, I don't have a concrete idea what the exact precision, range or representation is. (I could look it up, of course. In fact I just did and found that my initial guess of 4 bytes was right, but I still don't have an idea what the breakdown is between how that's divided between precision and range.)
Of course those holes could be fixed up relatively easily. (And I probably should.) They are omissions of detail, not concept. But still I could see myself failing this test of what makes a decent programmer.
Cheers,
Ben