There's no whitespace here, except for newlines (which I've decided not to count, although they've been placed to my advantage. It's 418 chars. I love my hash slices.
sub
B(){''}sub
Z(){(B)x13}sub
U(){(B)x31}sub
O(){(B)x83}sub
J(){(B)x343}sub
b(){B,B,B}@g{AAA..UUU}=(K,B,N,b,K,Z,N,U,T,B,T,b,T,Z,T,O,R,B,S,b,R,Z,S,
+J,
I,B,I,b,M,Z,I,(B)x811,Q,B,H,b,Q,Z,H,U,P,B,P,b,P,Z,P,O,R,B,R,b,R,Z,R,J,
+L,
B,L,b,L,Z,L,(B)x2163,E,B,D,b,E,Z,D,U,A,B,A,b,A,Z,A,O,G,B,G,b,G,Z,G,J,V
+,B
,V,b,V,Z,V,(B)x8923,'.',B,Y,b,'.',Z,Y,U,S,B,S,b,S,Z,S,O,'.',B,C,b,W,Z,
+C,
J,L,B,F,b,L,Z,F);sub
f{$_=pop;s/..?.?/$g{$&}/g;$_}
japhy --
Perl and Regex Hacker