++$|; undef $/; $_ = $e || ; tr/+-.<>[]//cd; foreach $a (']}', '[while($p[$p]){', '-$p[$p]--', '+$p[$p]++', ',$p[$p]=ord(getc)', '.print(chr($p[$p]))', '<$p--', '>$p++') { s/\Q${\substr($a, 0, 1);}\E/${\substr($a, 1);}\n;/g; } eval $_; #### [ < - ] #### while($p[$p]){ ;$p-- ;$p[$p]-- ;} ;