So I'm a little late, but this message inspired me to get Tie::Math working with multivariable equations (AND IT WASN'T EASY!) So this isn't exactly short, but I think its fun. Note, Tie::Math only works under 5.6.0 because of the lexical subroutines. use Tie::Math qw(f X Y); my %pascal; tie %pascal, 'Tie::Math', sub { if( X <= Y and Y > 0 and X > 0 ) { f(X,Y) = f(X-1,Y-1) + f(X,Y-1); } else { f(X,Y) = 0; } }, sub { f(1,1) = 1; f(1,2) = 1; f(2,2) = 1; }; my $height = 13; for my $y (1..$height) { print " " x ($height - $y); for my $x (1..$y) { printf " % 4d ", $pascal{$x,$y}; } print "\n"; } Unfortunately, the if/else statement to bound the equation bothers me deeply, since I intended Tie::Math to be familiar to mathematical types and avoid any programming logic. I'm working on a bounding conditions so one can say something natural. On Tue, Jun 06, 2000 at 11:53:06PM -0700, Perl lover wrote: > write a program as short as possible(i made one, less than 70 > characters) to print numbers derived from (x+y) ** n (n is 1 to 14) > in the following format: > > 1 > 1 1 > 1 2 1 > 1 3 3 1 > 1 4 6 4 1 > 1 5 10 10 5 1 > 1 6 15 20 15 6 1 > 1 7 21 35 35 21 7 1 > 1 8 28 56 70 56 28 8 1 > 1 9 36 84 126 126 84 36 9 1 > 1 10 45 120 210 252 210 120 45 10 1 > 1 11 55 165 330 462 462 330 165 55 11 1 > 1 12 66 220 495 792 924 792 495 220 66 12 1 > 1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1 > 1 14 91 364 1001 2002 3003 3432 3003 2002 1001 364 91 14 1 -- Michael G Schwern http://www.pobox.com/~schwern/ schwern@pobox.com At the doctor's office Winter wheat and water mix I walk funny now. -- ignatz ==== Want to unsubscribe from Fun With Perl? Well, if you insist... ==== Send email to <fwp-request@technofile.org> with message _body_ ==== unsubscribe