Can you remember:
- where split() in void context puts the results?
- what $| = 2; print $|; will output?
- what weak references are, and why you might need them?
- how to use formats?
- what all of the default punctuation variables do?
These are just things I thought of off the top of my head. I know the answers to these (except the last two), but I bet another very experianced Perl coder would have to look it up (and some of this stuff is in very obscure places). They'd come up with a completely different list that would stump me. In other words, we would each know a some details that the other doesn't.
(Unless, that is, your name is Abigail. He can probably beat Larry.)
Neither of us would a truely complete understanding of the language. We'd just know a useful subset which has been grown over time by our individual experiances with the language.
In their orginal forms, C and LISP are minimalist languages (I find LISP surprisingly so). If they display complex behavior, it's because they use combinational explosion to produce it (i.e., combining individual components on a massive scale). Perl does do combinational explosion, but it gets a lot of power by refining the details of individual components.
"There is no shame in being self-taught, only in not trying to learn in the first place." -- Atrus, Myst: The Book of D'ni.