ot-SOLUTION(8)

NAME
ot - print a representation of the string "the perl journal".

SYNOPSIS
ot

DESCRIPTION
ot prints a representation of the string "the perl journal" through obfuscatory means. It first checks for the presence of parameters. If there are none, it knows that this is its first invocation and proceeds to invoke itself. Invocation of itself is done by opening a uudecode pipe and then pretending that the standard output of uudecode is being piped through ot which pipes its output through itself again. Some uuencoded data is written to the uuencode pipe to produce a binary data file and incidentally invoke ot two more times.

However the real information going to the second invocation of ot is its first parameter. The parameters to ot tell it where in the pipe it is being invoked, which tells it what is ready to be done. The second invocation knows it's second because its first parameter is '5'. So it knows to look for the file from the uuencode run from the first invocation of ot. It reads this file and translates the binary into a character sequence. This character sequence is piped to the third invocation of ot.

The third invocation of ot knows it is the third because its second parameter is '4', the first parameter having been thrown away while determining that it was not '5'. So it gets its STDIN data string, massages it a little and prints out what appears to some folks to be a representation of the string "THE PERL JOURNAL" printed sideways on STDOUT.

IDENTIFICATION
Kenneth C. Rich, kenr@cc.rochester.edu
Copyright 1998 University Computing Center,
Taylor Hall, University of Rochester,
Rochester, NY   14627

BUGS

It does not clean up its cruft file 'o' in the current directory.