Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

eval JAPH

by kyle (Abbot)
on Apr 23, 2008 at 20:24 UTC ( [id://682489]=obfuscated: print w/replies, xml ) Need Help??

The goal here was to JAPH using only eval and operators on eval. I bent that rule a little (most obviously in using the string literal, 'eval'), but this is pretty close.

${('eval'&(((!eval())x!eval)))|((((!eval()+!eval)x!eval))^(((!eval())x +!eval)))}=(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+ +!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval +'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^(( +(!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<(!e +val()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval( +)+!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!ev +al)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval)) +x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval() ++!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eva +l'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^( +((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<(! +eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval +()+!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!e +val)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval) +)x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval( +)+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('ev +al'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^ +(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<( +!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eva +l()+!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x! +eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval +))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval +()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('e +val'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval)) +^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((!eval()<< +(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!ev +al()+!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x +!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eva +l))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eva +l()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).((' +eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval) +)^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).((('eval'^(((!eval() +)x!eval)))&(((!eval())x!eval)))^(((!eval()<<(!eval()+!eval()+!eval))x +!eval))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+! +eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval' +&(((!eval())x!eval)))|((((!eval()<<(!eval()+!eval()+!eval))x!eval))^( +((!eval())x!eval))));eval(((('eval'^(((!eval())x!eval)))&(((!eval())x +!eval)))^(((!eval()+!eval)x!eval))).(('eval'&(((!eval()<<(!eval()+!ev +al))x!eval)))&(((!eval()<<(!eval()+!eval))x!eval))).((('eval'^(((!eva +l())x!eval)))&(((!eval())x!eval)))^(((!eval()+!eval)x!eval))));$@=~/$ +{#}/;eval eval(((('eval'^(((!eval())x!eval)))&(((!eval())x!eval)))^(( +(!eval()+!eval)x!eval))).(eval((('eval'&(((!eval()<<(!eval()+!eval))x +!eval)))&(((!eval()<<(!eval()+!eval))x!eval))).(((!eval())x!eval)).(( +'eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval +))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((!eval() +)x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval))x!e +val)))).(((!eval())x!eval)).((((!eval()+!eval()+!eval)*(!eval()+!eval +))x!eval)).(((eval()/!eval)x!eval)).(('eval'&(((!eval())x!eval)))^((( +(!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval))x!eval)))).(('eva +l'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^( +((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<(! +eval()+!eval))x!eval)))&(((!eval()<<(!eval()+!eval))x!eval))).(((!eva +l())x!eval)).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval +()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('e +val'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!ev +al()+!eval))x!eval)))).(((!eval())x!eval)).((((!eval()+!eval()+!eval) +*(!eval()+!eval))x!eval)).(((!eval()+!eval)x!eval)).(('eval'&(((!eval +())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval))x +!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+ +!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval +'&(((!eval()<<(!eval()+!eval))x!eval)))&(((!eval()<<(!eval()+!eval))x +!eval))).(((!eval())x!eval)).(('eval'&(((!eval()<<(!eval()+!eval))x!e +val)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval) +)x!eval)))).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^ +(((!eval()<<(!eval()+!eval))x!eval)))).(((!eval())x!eval)).((((!eval( +)<<(!eval()+!eval))+!eval)x!eval)).(((!eval())x!eval)).(('eval'&(((!e +val())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval +))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval +()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('e +val'&(((!eval()<<(!eval()+!eval))x!eval)))&(((!eval()<<(!eval()+!eval +))x!eval))).(((!eval())x!eval)).(('eval'&(((!eval()<<(!eval()+!eval)) +x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!ev +al))x!eval)))).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval +))^(((!eval()<<(!eval()+!eval))x!eval)))).(((!eval())x!eval)).((((!ev +al()<<(!eval()+!eval))+!eval)x!eval)).((((!eval()+!eval()+!eval)*(!ev +al()+!eval))x!eval)).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval) +x!eval))^(((!eval()<<(!eval()+!eval))x!eval)))).(('eval'&(((!eval()<< +(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!ev +al()+!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x +!eval)))&(((!eval()<<(!eval()+!eval))x!eval))).(((!eval())x!eval)).(( +'eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval +))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((!eval() +)x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval))x!e +val)))).(((!eval())x!eval)).((((!eval()+!eval()+!eval)*(!eval()+!eval +))x!eval)).(((!eval()<<(!eval()+!eval))x!eval)).(('eval'&(((!eval())x +!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval))x!eva +l)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eva +l)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(( +(!eval()<<(!eval()+!eval))x!eval)))&(((!eval()<<(!eval()+!eval))x!eva +l))).(((!eval())x!eval)).(('eval'&(((!eval()<<(!eval()+!eval))x!eval) +))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!e +val)))).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^(((! +eval()<<(!eval()+!eval))x!eval)))).(((eval()/!eval)x!eval)).(((!eval( +)<<(!eval()+!eval))x!eval)).(((eval()/!eval)x!eval)).(('eval'&(((!eva +l())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval)) +x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval() ++!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eva +l'&(((!eval()<<(!eval()+!eval))x!eval)))&(((!eval()<<(!eval()+!eval)) +x!eval))).(((!eval())x!eval)).(('eval'&(((!eval()<<(!eval()+!eval))x! +eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval +))x!eval)))).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval)) +^(((!eval()<<(!eval()+!eval))x!eval)))).(((eval()/!eval)x!eval)).(((! +eval()<<(!eval()+!eval))x!eval)).(((!eval()+!eval)x!eval)).(('eval'&( +((!eval())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+! +eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((! +eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))). +(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))&(((!eval()<<(!eval()+! +eval))x!eval))).(((!eval())x!eval)).(('eval'&(((!eval()<<(!eval()+!ev +al))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval() ++!eval))x!eval)))).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x! +eval))^(((!eval()<<(!eval()+!eval))x!eval)))).(((!eval())x!eval)).((( +!eval())x!eval)).(((!eval()+!eval)x!eval)).(('eval'&(((!eval())x!eval +)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval))x!eval)))) +.(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!e +val))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((!eva +l()<<(!eval()+!eval))x!eval)))&(((!eval()<<(!eval()+!eval))x!eval))). +(((!eval())x!eval)).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|(( +((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)) +)).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval( +)<<(!eval()+!eval))x!eval)))).(((!eval())x!eval)).((((!eval()+!eval() ++!eval)*(!eval()+!eval))x!eval)).((((!eval()<<(!eval()+!eval))+!eval) +x!eval)).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^((( +!eval()<<(!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!ev +al))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval() ++!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))&((( +!eval()<<(!eval()+!eval))x!eval))).(((!eval())x!eval)).(('eval'&(((!e +val()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval( +)<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((!eval())x!eval)))^( +(((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval))x!eval)))).(((! +eval())x!eval)).((((!eval()+!eval()+!eval)*(!eval()+!eval))x!eval)).( +((!eval()+!eval()+!eval)x!eval)).(('eval'&(((!eval())x!eval)))^((((!e +val()+!eval)x!eval))^(((!eval()<<(!eval()+!eval))x!eval)))).(('eval'& +(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^(((! +eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<(!eva +l()+!eval))x!eval)))&(((!eval()<<(!eval()+!eval))x!eval))).(((!eval() +)x!eval)).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+ +!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval +'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval( +)+!eval))x!eval)))).(((!eval())x!eval)).((((!eval()+!eval()+!eval)*(! +eval()+!eval))x!eval)).(((!eval()<<(!eval()+!eval))x!eval)).(('eval'& +(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+ +!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|(((( +!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))) +.(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))&(((!eval()<<(!eval()+ +!eval))x!eval))).(((!eval())x!eval)).(('eval'&(((!eval()<<(!eval()+!e +val))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval( +)+!eval))x!eval)))).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x +!eval))^(((!eval()<<(!eval()+!eval))x!eval)))).(((eval()/!eval)x!eval +)).(((!eval()<<(!eval()+!eval))x!eval)).(((eval()/!eval)x!eval)).(('e +val'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!ev +al()+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval))) +|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eva +l)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))&(((!eval()<<(!ev +al()+!eval))x!eval))).(((!eval())x!eval)).(('eval'&(((!eval()<<(!eval +()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+! +eval()+!eval))x!eval)))).(('eval'&(((!eval())x!eval)))^((((!eval()+!e +val)x!eval))^(((!eval()<<(!eval()+!eval))x!eval)))).(((!eval())x!eval +)).(((!eval()<<(!eval()+!eval))x!eval)).(((!eval())x!eval)).(('eval'& +(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+ +!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|(((( +!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))) +.(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))&(((!eval()<<(!eval()+ +!eval))x!eval))).(((!eval())x!eval)).(('eval'&(((!eval()<<(!eval()+!e +val))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval( +)+!eval))x!eval)))).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x +!eval))^(((!eval()<<(!eval()+!eval))x!eval)))).(((!eval())x!eval)).(( +((!eval()<<(!eval()+!eval))+!eval)x!eval)).((((!eval()+!eval()+!eval) +*(!eval()+!eval))x!eval)).(('eval'&(((!eval())x!eval)))^((((!eval()+! +eval)x!eval))^(((!eval()<<(!eval()+!eval))x!eval)))).(('eval'&(((!eva +l()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()< +<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!ev +al))x!eval)))&(((!eval()<<(!eval()+!eval))x!eval))).(((!eval())x!eval +)).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x +!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((!e +val())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval +))x!eval)))).(((!eval())x!eval)).((((!eval()<<(!eval()+!eval))+!eval) +x!eval)).((((!eval()<<(!eval()+!eval()+!eval))-!eval)x!eval)).(('eval +'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval( +)+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|(( +((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)) +)).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))&(((!eval()<<(!eval( +)+!eval))x!eval))).(((!eval())x!eval)).(('eval'&(((!eval()<<(!eval()+ +!eval))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eva +l()+!eval))x!eval)))).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval +)x!eval))^(((!eval()<<(!eval()+!eval))x!eval)))).(((!eval())x!eval)). +((((!eval()+!eval()+!eval)*(!eval()+!eval))x!eval)).(((!eval()<<(!eva +l()+!eval))x!eval)).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x +!eval))^(((!eval()<<(!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<( +!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eva +l()+!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x! +eval)))&(((!eval()<<(!eval()+!eval))x!eval))).(((!eval())x!eval)).((' +eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval) +)^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((!eval()) +x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval))x!ev +al)))).(((!eval())x!eval)).((((!eval()<<(!eval()+!eval))+!eval)x!eval +)).(((eval()/!eval)x!eval)).(('eval'&(((!eval())x!eval)))^((((!eval() ++!eval)x!eval))^(((!eval()<<(!eval()+!eval))x!eval)))).(('eval'&(((!e +val()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval( +)<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+! +eval))x!eval)))&(((!eval()<<(!eval()+!eval))x!eval))).(((!eval())x!ev +al)).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval +)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&((( +!eval())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!ev +al))x!eval)))).(((!eval())x!eval)).(((!eval()<<(!eval()+!eval))x!eval +)).((((!eval()<<(!eval()+!eval))+!eval)x!eval)).(('eval'&(((!eval())x +!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval))x!eva +l)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eva +l)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(( +(!eval()<<(!eval()+!eval))x!eval)))&(((!eval()<<(!eval()+!eval))x!eva +l))).(((!eval())x!eval)).(('eval'&(((!eval()<<(!eval()+!eval))x!eval) +))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!e +val)))).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^(((! +eval()<<(!eval()+!eval))x!eval)))).(((!eval())x!eval)).((((!eval()+!e +val()+!eval)*(!eval()+!eval))x!eval)).(((!eval()+!eval)x!eval)).(('ev +al'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eva +l()+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))| +((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval +)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))&(((!eval()<<(!eva +l()+!eval))x!eval))).(((!eval())x!eval)).(('eval'&(((!eval()<<(!eval( +)+!eval))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!e +val()+!eval))x!eval)))).(('eval'&(((!eval())x!eval)))^((((!eval()+!ev +al)x!eval))^(((!eval()<<(!eval()+!eval))x!eval)))).(((eval()/!eval)x! +eval)).(((!eval()<<(!eval()+!eval))x!eval)).(((eval()/!eval)x!eval)). +(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<< +(!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eva +l)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x +!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))&(((!eval()<< +(!eval()+!eval))x!eval))).(((!eval())x!eval)).(('eval'&(((!eval()<<(! +eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval +()+!eval()+!eval))x!eval)))).(('eval'&(((!eval())x!eval)))^((((!eval( +)+!eval)x!eval))^(((!eval()<<(!eval()+!eval))x!eval)))).(((!eval())x! +eval)).(((!eval()+!eval)x!eval)).(((eval()/!eval)x!eval)).(('eval'&(( +(!eval())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!e +val))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!e +val()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).( +('eval'&(((!eval()<<(!eval()+!eval))x!eval)))&(((!eval()<<(!eval()+!e +val))x!eval))).(((!eval())x!eval)).(('eval'&(((!eval()<<(!eval()+!eva +l))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+ +!eval))x!eval)))).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x!e +val))^(((!eval()<<(!eval()+!eval))x!eval)))).(((!eval())x!eval)).(((! +eval()<<(!eval()+!eval))x!eval)).((((!eval()<<(!eval()+!eval))+!eval) +x!eval)).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^((( +!eval()<<(!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!ev +al))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval() ++!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))&((( +!eval()<<(!eval()+!eval))x!eval))).(((!eval())x!eval)).(('eval'&(((!e +val()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval( +)<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((!eval())x!eval)))^( +(((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval))x!eval)))).(((! +eval())x!eval)).((((!eval()+!eval()+!eval)*(!eval()+!eval))x!eval)).( +((!eval()+!eval)x!eval)).(('eval'&(((!eval())x!eval)))^((((!eval()+!e +val)x!eval))^(((!eval()<<(!eval()+!eval))x!eval)))).(('eval'&(((!eval +()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<< +(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eva +l))x!eval)))&(((!eval()<<(!eval()+!eval))x!eval))).(((!eval())x!eval) +).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x! +eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((!ev +al())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval) +)x!eval)))).(((!eval())x!eval)).((((!eval()<<(!eval()+!eval))+!eval)x +!eval)).(((!eval()<<(!eval()+!eval))x!eval)).(('eval'&(((!eval())x!ev +al)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval))x!eval)) +)).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x +!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((!e +val()<<(!eval()+!eval))x!eval)))&(((!eval()<<(!eval()+!eval))x!eval)) +).(((!eval())x!eval)).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))| +((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval +)))).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^(((!eva +l()<<(!eval()+!eval))x!eval)))).(((eval()/!eval)x!eval)).(((!eval()<< +(!eval()+!eval))x!eval)).(((eval()/!eval)x!eval)).(('eval'&(((!eval() +)x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval))x!e +val)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!e +val)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'& +(((!eval()<<(!eval()+!eval))x!eval)))&(((!eval()<<(!eval()+!eval))x!e +val))).(((!eval())x!eval)).(('eval'&(((!eval()<<(!eval()+!eval))x!eva +l)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x +!eval)))).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^(( +(!eval()<<(!eval()+!eval))x!eval)))).(((!eval())x!eval)).((((!eval()< +<(!eval()+!eval))+!eval)x!eval)).(((eval()/!eval)x!eval)).(('eval'&(( +(!eval())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!e +val))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!e +val()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).( +('eval'&(((!eval()<<(!eval()+!eval))x!eval)))&(((!eval()<<(!eval()+!e +val))x!eval))).(((!eval())x!eval)).(('eval'&(((!eval()<<(!eval()+!eva +l))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+ +!eval))x!eval)))).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x!e +val))^(((!eval()<<(!eval()+!eval))x!eval)))).(((!eval())x!eval)).(((! +eval()<<(!eval()+!eval))x!eval)).(((!eval())x!eval)).(('eval'&(((!eva +l())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval)) +x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval() ++!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eva +l'&(((!eval()<<(!eval()+!eval))x!eval)))&(((!eval()<<(!eval()+!eval)) +x!eval))).(((!eval())x!eval)).(('eval'&(((!eval()<<(!eval()+!eval))x! +eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval +))x!eval)))).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval)) +^(((!eval()<<(!eval()+!eval))x!eval)))).(((!eval())x!eval)).(((!eval( +)<<(!eval()+!eval))x!eval)).(((!eval()+!eval()+!eval)x!eval)).(('eval +'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval( +)+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|(( +((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)) +)).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))&(((!eval()<<(!eval( +)+!eval))x!eval))).(((!eval())x!eval)).(('eval'&(((!eval()<<(!eval()+ +!eval))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eva +l()+!eval))x!eval)))).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval +)x!eval))^(((!eval()<<(!eval()+!eval))x!eval)))).(((!eval())x!eval)). +((((!eval()<<(!eval()+!eval))+!eval)x!eval)).(((!eval()+!eval()+!eval +)x!eval)).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^(( +(!eval()<<(!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!e +val))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval( +)+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))&(( +(!eval()<<(!eval()+!eval))x!eval))).(((!eval())x!eval)).(('eval'&(((! +eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval +()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((!eval())x!eval)))^ +((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval))x!eval)))).((( +!eval())x!eval)).(((!eval()<<(!eval()+!eval))x!eval)).((((!eval()<<(! +eval()+!eval))+!eval)x!eval)).(('eval'&(((!eval())x!eval)))^((((!eval +()+!eval)x!eval))^(((!eval()<<(!eval()+!eval))x!eval)))).(('eval'&((( +!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^(((!eva +l()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval() ++!eval))x!eval)))&(((!eval()<<(!eval()+!eval))x!eval))).(((!eval())x! +eval)).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!ev +al)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&( +((!eval())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+! +eval))x!eval)))).(((!eval())x!eval)).((((!eval()+!eval()+!eval)*(!eva +l()+!eval))x!eval)).(((!eval()+!eval)x!eval)).(('eval'&(((!eval())x!e +val)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval))x!eval) +))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval) +x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((! +eval()<<(!eval()+!eval))x!eval)))&(((!eval()<<(!eval()+!eval))x!eval) +)).(((!eval())x!eval)).(('eval'&(((!eval()<<(!eval()+!eval))x!eval))) +|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eva +l)))).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^(((!ev +al()<<(!eval()+!eval))x!eval)))).(((eval()/!eval)x!eval)).((((!eval() +<<(!eval()+!eval))+!eval)x!eval)).(((!eval()<<(!eval()+!eval))x!eval) +).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval() +<<(!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!e +val)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval) +)x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))&(((!eval() +<<(!eval()+!eval))x!eval))).(((!eval())x!eval)).(('eval'&(((!eval()<< +(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!ev +al()+!eval()+!eval))x!eval)))).(('eval'&(((!eval())x!eval)))^((((!eva +l()+!eval)x!eval))^(((!eval()<<(!eval()+!eval))x!eval)))).(((!eval()) +x!eval)).(((!eval()+!eval()+!eval)x!eval)).(((!eval()<<(!eval()+!eval +))x!eval)).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^( +((!eval()<<(!eval()+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+! +eval))x!eval)))|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval +()+!eval))x!eval)))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))&( +((!eval()<<(!eval()+!eval))x!eval))).(((!eval())x!eval)).(('eval'&((( +!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval)x!eval))^(((!eva +l()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((!eval())x!eval))) +^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval))x!eval)))).(( +(!eval())x!eval)).((((!eval()<<(!eval()+!eval))+!eval)x!eval)).((((!e +val()+!eval()+!eval)*(!eval()+!eval))x!eval)).(('eval'&(((!eval())x!e +val)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval))x!eval) +))).(('eval'&(((!eval()<<(!eval()+!eval))x!eval)))|((((!eval()+!eval) +x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eval)))).(('eval'&(((! +eval()<<(!eval()+!eval))x!eval)))&(((!eval()<<(!eval()+!eval))x!eval) +)).(((!eval())x!eval)).(('eval'&(((!eval()<<(!eval()+!eval))x!eval))) +|((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval()+!eval))x!eva +l)))).(('eval'&(((!eval())x!eval)))^((((!eval()+!eval)x!eval))^(((!ev +al()<<(!eval()+!eval))x!eval)))).(((eval()/!eval)x!eval)).(((!eval()< +<(!eval()+!eval))x!eval)).(((!eval()+!eval)x!eval)).(('eval'&(((!eval +())x!eval)))^((((!eval()+!eval)x!eval))^(((!eval()<<(!eval()+!eval))x +!eval)))))).((('eval'^(((!eval())x!eval)))&(((!eval())x!eval)))^(((!e +val()+!eval)x!eval))));

Things that bent the "only eval" rule:

Other operators I used: = * x - ~ . << ! | + ^ &

Here's a brief description of how this works:

Start knowing this:

is( $_, undef, '$_ is undef' ); is( eval, undef, 'eval is undef' ); is( !eval, 1, '!eval is 1' );

From there, you can build up other numbers:

is( !eval()+!eval, 2, '!eval()+!eval is 2' ); is( !eval()+!eval()+!eval, 3, '!eval()+!eval()+!eval is 3' ); is( !eval()<<(!eval()+!eval), 4, '!eval()<<(!eval()+!eval) is 4' ); # etc.

Eventually you might discover things like:

is( (\eval()&'eval'^'eval')&((!eval()<<(!eval()+!eval))x!eval), '$', q{(\eval()&'eval'^'eval')&((!eval()<<(!eval()+!eval))x!eval) is '$'} );

I wrote a program that gropes around starting with a few constants to build up strings and the resulting alphabet that they could support. It takes about a half hour to run, and it gets a fairly limited set of characters when it's done. For example, it never found a way to give me a backslash.

With all that in mind, here's how the JAPH operates:

  1. Set $# to a regular expression, /.{18}(.)/, except I can't use braces, so it's '.'x18.
  2. Do eval '"$"'. This generates an error in $@: "Final $ should be \$ or $name at ...". Note the backslash.
  3. $@=~/${#}/ to capture the backslash in $1. I can't make "@", so I can't wrap this in a layer of eval encoding like everything else. Also, it would be hard to ensure that $@ still had the right value in the midst of all this eval madness.
  4. Make a string like "$1.'160'.$1.'162'...", which becomes "\160\162...", which decodes to "print "Just another Perl hacker,\n"".
  5. Finally, eval that string.

Replies are listed 'Best First'.
Re: eval JAPH
by mtve (Deacon) on Apr 29, 2008 at 13:48 UTC

    JAPH with only eval + - ! ( ) ^ .

    eval eval eval(((!().!().!()+!().())).((()+()).()^!()+!()+!().()^ (-!().!().!()-!()-!()-!().())).((()+()).()^!()+!()+!().()^(-!().( ()+()).!()-!()-!()-!()-!().())).((()+()).()^!()+!()+!().()^(-!(). !().(()+()).())).((()+()).()^!()+!()+!().()^(-!().!().!()-!()-!() -!()-!()-!().())).((()+()).()^!()+!()+!().()^(-!()-!()-!().!()-!( )-!()-!().())).((()+()).()^!()+!()+!().()^(-!().!()+!()+!()+!()+! ().!()-!()-!()-!().())).((()+()).()^!()+!()+!().()^(-!().!()-!(). !()+!()+!()+!()+!().())).((()+()).()^!()+!()+!().()^(-!().!().!() -!()-!()-!()-!().())).((()+()).()^!()+!()+!().()^(-!().!().!()-!( )-!()-!()-!()-!().())).((()+()).()^!()+!()+!().()^(-!()-!()-!().! ()-!().())).((()+()).()^!()+!()+!().()^(-!().(()+()).(()+())+!()+ !()+!().())).((()+()).()^!()+!()+!().()^(-!().!().(()+()).())).(( ()+()).()^!()+!()+!().()^(-!().!().!().())).((()+()).()^!()+!()+! ().()^(-!().!().!()-!()-!()-!()-!()-!().())).((()+()).()^!()+!()+ !().()^(-!().(()+()).!()-!()-!()-!().())).((()+()).()^!()+!()+!() .()^(-!().(()+()).!().())).((()+()).()^!()+!()+!().()^(-!().!().! ()-!()-!()-!().())).((()+()).()^!()+!()+!().()^(-!()-!()-!().!()- !().())).((()+()).()^!()+!()+!().()^(-!().!()+!()+!()+!().(()+()) .())).((()+()).()^!()+!()+!().()^(-!().(()+()).!().())).((()+()). ()^!()+!()+!().()^(-!().!().!()-!()-!()-!().())).((()+()).()^!()+ !()+!().()^(-!().!().(()+())+!()+!().())).((()+()).()^!()+!()+!() .()^(-!()-!()-!().!()-!().())).((()+()).()^!()+!()+!().()^(-!().( ()+()).!()-!()-!()-!().())).((()+()).()^!()+!()+!().()^(-!().(()+ ()).(()+())+!()+!()+!().())).((()+()).()^!()+!()+!().()^(-!().(() +()).(()+())+!().())).((()+()).()^!()+!()+!().()^(-!().!().!()+!( )+!()+!()+!().())).((()+()).()^!()+!()+!().()^(-!().(()+()).!().( ))).((()+()).()^!()+!()+!().()^(-!().!().!()-!()-!()-!().())).((( )+()).()^!()+!()+!().()^(-!()-!()-!()-!().!()-!()-!()-!().())).(( ()+()).()^!()+!()+!().()^(-!()-!()-!().!()-!()-!()-!().()))).!!()
        you're right, third eval is just a joke.
      Amazingly golfed. You never fail to astonish me.

      --shmem

      _($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                                    /\_¯/(q    /
      ----------------------------  \__(m.====·.(_("always off the crowd"))."·
      ");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}
Re: eval JAPH
by dynamo (Chaplain) on May 14, 2008 at 21:25 UTC
    Wow, hats' off to you. That is THE most horribly innefficient code I have ever seen in my life*. That's like what I'd see in a nightmare where I work at microsoft*.



    * In a good way. Meant as a complement to the author.
    * But not to microsoft.
Re: eval JAPH (perltidy)
by kyle (Abbot) on Apr 23, 2008 at 20:27 UTC

    Here's a version that I ran through perltidy. It's not a lot more comprehensible.

    Oops, it's too long. It previewed fine, but it truncated when I hit 'create'.

Re: eval JAPH
by spacewarp (Pilgrim) on Aug 24, 2008 at 17:51 UTC
    I've seen a lot of really (intentionally) bad code during my years here, but none have made me laugh as loud or as long as this one. Well Done!

    Spacewarp
    while("Ox74Ox65Ox80Ox72"=~/(..)/g){print(pack(c,$1))if($c?0:1)}

    DISCLAIMER:
    Use of this advanced computing technology does not imply an endorsement
    of Western industrial civilization.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: obfuscated [id://682489]
Approved by Arunbear
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (2)
As of 2024-04-20 01:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found