in reply to Hexadecimal representation of pi

As you're golfing, there are a few trivial modifications that can save a few characters (update: 4 characters). Omit the semicolons after the sub definitions and for loops, and change ($/*=16)%=O to $/=$/*16%O.

$|=print 3.2;sub O{8*($@-$_)+(1,4,5,6)[$:]}sub o{(-4,2,1,1)[$:]/O}while($,=++$@){for$:(0..3){ for (0..$@) {for$" (($/=1) ..$_){ $/=$/* 16%O} $,-=$/ *o}$, -=16** $_*o for-6..- 1}printf "%x",$,* 16%16}

Replies are listed 'Best First'.
Re^2: Hexadecimal representation of pi
by weixi (Novice) on Mar 07, 2006 at 15:04 UTC
    Thanks for the hints!

    Now that you made me aware of the semicolons after the sub definitions, I am really stunned I didn't realize those myself.