It cannot be seen, cannot be felt, Cannot be heard, cannot be smelt. It lies behind stars and under hills, And empty holes it fills.
This chapter is a modest attempt to shed light on most of the critical data structures and functions of the Perl interpreter. Getting a handle on such (admittedly dry) detail will give you the confidence to write powerful extensions, and will inform your judgment about how (and how much) Perl should be used in a given application. The mark of a good Perl programmer is the ability to answer questions that don’t figure in the Frequently Asked Questions list, such as these:
Why are objects so much preferable to closures?
my faster than
The easy-embedding API presented in the last chapter isn’t convenient enough. How can I roll my own?
What do xsubpp and SWIG really produce?
Why not join the Java revolution by making the Perl interpreter output Java byte-code?
And so on. All you require is fluency in C, an enquiring mind, and a comfortable chair.
If you are into instant gratification and can’t wait to churn out a cool extension, you may opt for the low-fat thread running through this chapter; read the following sections: Section 20.3, Section 20.4, and Section 20.5. You can definitely skip all sections entitled “Inside...” on a first reading without loss of continuity.
There was this programmer, the story goes, who was deeply mystified by a piece of code. It had no comments ...