Okay, it's a little bit early for most of the world (myself included), but that doesn't matter too much, does it?
#!/usr/bin/perl
use strict;
$/=$_;!@ARGV?$_="@{[map{chr($_+43+($_&4)*(3.25+$_%2*7.5))}map{(7&-32+o
+rd,-32
+ord>>3)}(<DATA>=~/[ -_]/g)]}":s<>><\>>e;$"=~s;;\;;;map{[$_{$*}?($_{$_
+{$*}},
$_{$*}):($_{$*})=$_]}map{/./;($&,eval"q;++\$_[\$_]--;=~m'..[[](.*)[]]'
+;qq($'
)")}qw/+++$& ,$&=ord+getc;$&$'if!defined$& ---$& <--\$_ >++\$_ [while(
+$&){
]} .print(chr$&)/;$_=!(@_=(q[@_=()],map$_{$_},split//));eval"@_";
__DATA__
UP DZ6U5&&DGJR@WV5$DPVG\DLRVP@D\VVCLR&&D\NBP6\&CD5VP@DWV:#D5VP&DDW>
>54DPVW5$4VG42S5&DRGBLR&&D\V#@EPR@WSKBBP^$8 V5DP^D 32:@LR&DW>$K2BPG:
Extra note: it does something when you pass it a filename. But I'm not telling what :)