    This script's ability to masquerade as a C program (and vice-versa) is
enabled by C's usage of the '#' character to indicate preprocessor commands
and perl's usage of the '#' character as a commenting character.  Thus, the
include statements that allow this file to be compiled as C code are ignored
by perl.  Following one of the last include statements (but on the same line)
is the beginning of a C-style comment.  On the following line is the entire
perl script (which would be ignored by a C compiler, conveniently enough).
At the end of the script is the __END__ specifier and the close of the C-style
comment.  Thus the remainder of the file can be made up of straight C code.

    The perl code simply reads the lines following the __END__ specifier into
a variable, does a few substitutions to the text within that variable in order
to mold C's syntax into perl's, and then passes the modified text to eval.
The variables that are used in the C code are named uncommon letters, like
'q', 'v', 'y', etc.  This is so all instances of those letters can be modified
by inserting a '$' in front of them.  All instances of the word 'static' are
replaced with the '#' character, so that those lines will be ignored by perl.
Likewise, the line reading "int main() {" is stripped out and the closing
braces of both C functions are commented out (thus the entirety of the
substr function is commented out in the end).

    The C code (and it's perl counterpart) is what actually displays "The Perl
Journal" on standard output.  The y variable points to a string which simply
contains all the letters that make up the text to be output: " JPTaehlnoru".
The value of the v and w variable (in that order) specifies which letters of
the text to pull from y.  These are specified four bits at a time, from the
most significant bit to the least significant bit.  Fortunately, the final
text that we wish to display contains exactly 16 characters, so this works
out nicely.

    I decided to not obfuscate the C code too much; the only obfuscation I
performed was in the algorithm itself and the string and integer literals.
I figured if I obfuscated the C code too much, the file itself wouldn't
look as much like C.

