This is a real "pearl" of wisdom-- to understand Perl, the language, deeply, it is *indispensable* that you have at least a basic understanding of how perl, the C program, works. They are very intimately related. perlguts can be helpful for this, but you can learn a heck of a lot by using the output of some of the B modules, or by building a debugging perl and running -Dt on very simple programs. I would also recommend PerlGuts Illustrated
by Gisle Aas. It is not complete but it is very helpful.
$ perl -MXML::Generator=:pretty -le 'print just(another(perl(hacker())))'