Submission for 3rd Annual Obfuscated Perl Contest

Author: Kevin Miller (kcm@cmu.edu)
Date: 7/20/1998

The output from the program is a fairly obvious indicator of what
it does: graphs single-variable functions.

If you want to try out your own function, just change $f to some
function. ** is exponentiation. Note that -2**2 and (-2)**2 are
different (the first returns -4 and the second returns 4). Sorry,
it doesn't do multi-variable graphing. ;) The variable must be
'x', though it can occur multiple times. You can use any Perl-
recognized function, include abs, sin, cos, tan, etc...

If you want to change the 'dimensions' of the graphing area, 
just change $t, $b, $r, $l on the first line. (Top, Bottom, Right,
Left).

If you want to make it appear differently in the terminal, change
$y and $o. $y would be the width of the window, $o the number
of lines to consume in printing the graph.

How it works:
First it creates the conversion factors for the graph dimensions
to the terminal window ($u and $j). It then creates a 'y' value
for each 'x' value (each column in the terminal). This is done
with the 'e' subroutine on the last line. 

After that, it goes through each 'y' value and determines which
row it will be drawn onto. This is done with the first 'foreach'
and the 'n' subroutine. 

Finally, in the second foreach, it goes through each row and 
determines which *'s should be written on that row, along with
processing the - and | marks. sub p is to make printing a bit
more efficient space-wise. (And to confuse the casual 
observer. ;))










