# 1 # collapse printing into the $p assignment @t=("12","34","56","7 ","89",":h","er",";k",">7,1; $p=($x&240)==48?$x&15:-1+print chr$x; $n<<=1; }until($i==91); # 2 # Collapse the $x assignment into the $p assignment @t=("12","34","56","7 ","89",":h","er",";k",">7,1)&240)==48?$x&15:-1+print chr$x; $n<<=1; }until($i==91); #3 # Collapse the $n assignment into the $x assignment @t=("12","34","56","7 ","89",":h","er",";k",">7,1)&240)==48?$x&15:-1+print chr$x;$n<<=1; }until($i==91); #4 # Remove @t and replace it with a constant list @m=split/ */,"\x00\x50\xA5\xd2\xc5\xbb\x96\xef\x06\xbc\x8e\xe0"; do{ $p=(($x=ord substr("12","34","56","7 ","89",":h","er",";k",">7,1)&240)==48?$x&15:-1+print chr$x;$n<<=1; }until($i==91); #5 # condense the previous @t, removing quotes to save space @m=split/ */,"\x00\x50\xA5\xd2\xc5\xbb\x96\xef\x06\xbc\x8e\xe0"; do{ $p=(($x=ord substr+(split/,/,'12,34,56,7 ,89,:h,er,;k,>7,1)&240)==48? $x&15:-1+print chr$x;$n<<=1; }until($i==91); #6 # Remove @m, replacing it with a constant list # This requires a smaller variable for the 'shift' effect... do{ $p=(($x=ord substr+(split/,/,'12,34,56,7 ,89,:h,er,;k,>7,1)&240)==48?$x&15:-1+print chr$x;$n<<=1; }until($i==91); #7 # Change all the variables to 'strict compliant' ones... # Remove extra semi-colons and parentheses... do{$a=(($_=ord substr+(split/,/,'12,34,56,7 ,89,:h,er,;k,>7,1)&240)==48?$_&15:-1+print chr;$b<<=1}until$;==91 #8 (final version) # Split up the previous @m for allignment issues do{$a=(($_=ord substr+(split/,/,'12,34,56,7 ,89,:h,er,;k,>7,1)&240)==48?$_&15:-1+print chr;$b<<=1}until$;==91