Regarding x#3just_another_perl_hacker.pl
Patrick Timmins 7/7/98


I tried first of all to create a general sense of obviousness by creating
the long filename which also just so happens to contain all of the letters
necessary to print 'the perl journal'. I thought the tribute to the old 
'japh' obfuscated contests would be thoughtful as well as misleading.

I then proceeded to lay out the code using ugly and confusing filehandles
and array names such as _, @1, and @_, with resulting elements of $1 type and
$_ type (not to be confused with $1 and $_, respectively). 

The big extended regular expression is just a ploy to make you think you're
going crazy and reading in the filename, which you're not. Only the '.'
matters, and what it does is read in characters from the source file itself,
character by character. The single character $1 match is repeatedly pushed
to the ugly and confusing @_ array. That's the sneaky part. All of the
characters used to print out 'the perl journal' are taken from the source
file, not the name of the file. You can rename the file whatever you like,
and it will still work fine. Just don't remove even a single white space or
character (or add a white space or character) to the source! See below. 

So now that all of the characters in the source file are in the @_ array, I
proceed to create the ugly and confusing @1 array, which will contain the
indices for each of the characters I want out of the @_ array. The 
'$0=join'',@_;' line does nothing useful, except sort of create a counter
array, which determines the number of times 'the perl journal' will be
printed out in each of it's formats (alternating vertically and
horizontally 354 times each, to be exact). 

Block terminations, indentations, and white space were adjusted maliciously
for added misery.

Thanks for the fun! I just bought all the back issues of tpj and have a 2
year subscription just starting. Reading and referencing The Perl Journal
is more fun than a barrel of monkeys (see Gurusamy Sarathy in "Perl 5.005",
TPJ issue #10).
