Having written the quiz, and as actual answers seem to have faded to a trickle,
I thought I ought to offer some sample answers of my own. Apologies ahead of
time for any line break issues - but I have tried my hardest to avoid them!
1) Name as many different reasons Larry Wall has given for how Perl came to be
named (including where he has given them) as you can. Make up a brand new
reason of your own.
>From Wikipedia:
Perl was originally named "Pearl", after the Parable of the Pearl from the
Gospel of Matthew. Larry Wall wanted to give the language a short name with
positive connotations; he claims that he considered (and rejected) every three-
and four-letter word in the dictionary. He also considered naming it after his
wife Gloria. Wall discovered the existing PEARL programming language before
Perl's official release and changed the spelling of the name.
While the name is occasionally taken as an acronym for Practical Extraction and
Report Language (which appears at the top of the documentation), this expansion
actually came after the name; several others have been suggested as equally
canonical, including Wall's own humorous Pathologically Eclectic Rubbish
Lister. Indeed, Wall claims that the name was intended to inspire many
different expansions.
Perl gained it's name from knitting as it is often used to knit together data
from many sources.
2) Name all the built in file handles in Perl.
STDIN, STDOUT, STDERR, ARGV, ARGVOUT, DATA
3) Write a Perl function that takes two references to arrays and returns the
intersect of them. If an entry appears n times in array 1 and m times in array
2, the output should list that entry min(n,m) times. Bonus mark for one line
solutions.
Lots of good answers, but I'm going to republish Jasper's solution which has
the advantage of working plus looks appropriately unreadable and terse. I asked
the perl proficient guy next to me what it did and he has yet to get back to
me. I thought the use of "1x" was interesting and novel, albeit inefficient
especially when there are lots of duplicates, and the use of a comma to avoid a
semicolon obviously fudges the one-line bonus mark but nevertheless...:
sub intersect {grep(!++$_[2]->{$_},@{$_[0]}),grep 1x$_[2]->{$_}--,@{$_[1]}}
In the absence of the one line edict, which of course encourages bad style,
this is a more readable version of basically the same algorithm:
sub list_intersect_duplicates {
my($list1, $list2) = @_;
my %hlist2;
grep {$hlist2{$_}++ } @$list2;
grep {$hlist2{$_}-- > 0 } @$list1;
}
4) How many different variable types are there in Perl? Be as sensibly
voluminous in your answer as you are able.
I have been asked this in more interviews that I care to recall and generally
interviewers seem to be looking for 3 (scalar, list, and hash) but code,
filehandle, and format are also high level types.
You could also look at my, our, and local - and mention typeglobs, references
(which in turn can be subcategorised), and read-only constants.
You could then differentiate between file handles and directory handles - and
split scalars into the different ways they can be stored internally: e.g. as
integers, doubles and strings.
There is also the internal special purpose magical object which is used to
implement things like blessed objects and the various sorts of tied objects.
5) What animal is on the front of the Perl Cookbook (bonus mark for knowing
both the first and second edition)?
Bighorn sheep (Ovis canadensis) on both editions.
6) What company was Larry Wall working for when he wrote Perl 1?
The Jet Propulsion Laboratory (JPL) at NASA. Did someone say rocket science?
7) What does the L in Randal L Schwartz stand for?
Lee.
8) Name a Perl module Leon (Brocard) has written (bonus mark if you've used it).
http://cpan.uwinnipeg.ca/search?query=Brocard&mode=author
9) When will Perl 6 be released?
Perl 6 is free so it doesn't need to be released.
10) Who was the most important pioneer of Perl Poetry?
Sharon Hopkins.
11) Write a limeric about Perl. Bonus mark for making it perl parseable.
<<_;
There was a perl hack from Nantucket,
Who wrote one-line scripts by the bucket,
He tried to write verse,
But twas longer and worse,
Especially since he didn't know any swear words.
_
12) What year was CPAN founded in?
1995
13) Think of a witty and/or interesting Perl Christmas quiz question and answer
it.
Which 1998 movie featured a snippet of code from the Perl FAQ?
Sphere.
_________________________________________________________________
Get a bird’s eye view of the world with Multimap
http://clk.atdmt.com/GBL/go/115454059/direct/01/