The script works by matching a regular expression against itself (e.g.
$_ =~ /$_/, but this is slightly hidden inside the map for good measure).
If the regex matches (and in fact it does), it leaves the string
"format STDOUT=\n." in $_ and the string "The Perl Journal\n" in $^A.
At this point, just an "eval" and a "write" will do the trick.

How exactly the strings end up in the variables is easy enough to explain -
the code within the regex fills up $^A by adding characters from $_ (using
the ASCII value of characters from $_ as an index - yes, this is recursive).
Then a substring of $^A is moved to $_ to get ready for the eval().

In the unlikely case you have't noticed, try:

perl tpj.pl some args

(I couldn't resist adding an "usage" message)

