    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
first crucial line in your typical "Hello world" C program
(#include <stdio.h>) is simply ignored by the perl interpreter.  Immediately
following the include statement (on the same line) a C-style multi-line
comment is started.  On the second line is the actual perl code (which will
be ignored by any C compiler).

    Following the perl code, on the third line, is: "__END__*/".  This ends
both the perl code and the C comment.  The text that occupies the remaining
line of the file represents a valid C program (short of the include pre-
processor statement that occurs earlier in the file).  Since this text
follows the __END__ specifier, it can be read into a variable by the perl
code way back on the second line.  With some careful substitutions (removing
the "()" from after "main" and the "f" from "printf"), the main function
becomes a valid perl subroutine that does the same exact thing as the ori-
ginal C code would do.  Finally, the new perl code (residing in $_) is
passed to eval.

