Not by hand, I suppose.
Actually, this one was all done by hand (as opposed to Just Another Larry
, where I freely admit to using a tool to get my initial picture :)). I *looked* at some generated-ASCII-art as a starting point for the formatting, but with something like this (where, as halley
says, the code is using compulsory whitespace etc.) it's near-impossible to automate. You just have to fiddle around until it fits. If you look carefully, you'll see there's lots of 'cheating' going on - the '+' sign in the middle of the downstroke for instance (where I would have loved to have been able to stick another 'sub' or 'for'), or the 'print join' in the tail...an automatic version would presumably have found a better 'fit'.
Glad you liked it,