Edit: there was an issue with a split in void context (it would write the output to @_ before v5.12, and warn after), but fixing that creates code that does run, but generates invalid code. So this is only a partial fix. My original post is below, with the code that doesn't quite work. FYI, I saw the issue thanks to Toodles' explanation
#!/usr/bin/perl
# Copyright (c) Marcus Post, <marcus@marcuspost.com>
# # # #
$_=q,my(@f|@c|x$_=q.my(@f|@c|x$_=q.my(@f|@c|x$_=q.m(@f||@c|x$_=q.m(@f|
+|@c|xx
@w);@a=@f=<DAT%@w);@a=@f=<DAT%@w);@a=@f=<DAT%@w;@a=@f=<DAAT%@w;@a=@f=<
+DAAT%%
A>;seek(DATA|0!A>;seek(DAA|0!!A>;seek(DAA|0!A>;seek(DAA|0!!A>;seek(DAA
+|0!!AA
|0);@c=<DATA>;Y|0);@c<DATA>;Y||0);@c<DATA>Y||0);@c<DATA>Y|||0);@c<DATA
+>Y||||
until(($_=pop(zutil(($_==pp(zuttil(($_==p(zuttil(($_==p(zutttil(($_==p
+(zuttt
@c))=~/^_/){};Qc))=~/^_/){};Qc)))=~/^_/{};Qc)))=~/^_/{};Qc))))=~/^_/{}
+;Qc)))
unshift(@a|$_)xnshift(@a|$_)xnshhift(a|$_)xnshhift(a|$_)xnshhiift(a|$_
+)xnshh
;for(1..3){pri%;for(1.3){pri%;ffor1.3){pri%;ffor1.3){pri%;ffor11.3){pr
+i%;fff
nt(shift(@c));!nt(shft(@c));!ntt(hft(@c));!ntt(hft(@c));!ntt(hftt(@c))
+;!nttt
}for(@f){my($sY}for@f){my($sY}for@f){my($sY}for@f){my($sY}for@f){mmy($
+sY}foo
);@_=split//;$_=sz);splt//;$_=sz);splt//;$_=sz);splt//;$_=sz);splt//;$
+_==sz);ss
hift(@c);$_=~sQhift(c);$_=~sQhift(c);$_=~sQhift(c);$_=~sQhift(c);$_=~s
+QQhiff
/(.{15}).*/\1/x/(.{15})*/\1/x/(.{15})*/\1/x/(.{15})*/\1/x/(.{15}})*\1/
+xx/(..
;@w=split//;fo%;@w=split/;fo%;@w=split/;fo%;@w=split/;fo%;@w=spllit;fo
+%%;@ww
r(@_){$w[$s+15!r(@_){$w[$s15!r(@_){$w[$s15!r(@_){$w[$s15!!(@_){$$w[s15
+!!!(@@
-$_]=(($w[$s]eY-$_]=(($w[$s]YY-_]=(($w[$s]YY-_]=(($w[$s]YY-_]=((($[$s]
+]YY-__
q"|")?".":$w[$zq"|")?".":$w[$zq|")?"."::$[$zq|")??."::$[[$z|")???.::$$
+[[$z||
s]);$s++;}for(Qs]);$s++;}for(Qs];$s++;}}or(Qs];$$s+;}}orr(Qs]$$s++;}}o
+rr(Qss
1..75){unless(x1..75){unless(x1.75){unnlss(x1.775){uulsss(x1.75){uuuls
+ss(x11
$w[$_]ne''){$w%$w[$_]ne''){$w%$w$_]nee''{$w%$$w$_]nn''{{$w%$$w_]nnn''{
+{$w%$$
[$_]=$w[($_-1)![$_]=$w[($_-1)![$_=$w[[($_-)![$_==w[[($$_-)![$__w[[[($$
+_-)![[
];}}print(joinY];}}print(joinY];}prinnt(joinY;}prinntt(joinY;}pinnntt(
+joinYY
""|@w);print"\z""|@w);print"\z""|w);;print"\z"|w);;pprint"\z"|w;;pppri
+nt"\zz
n";}print@a;,;#n";}print@a;.;#n";priint@a;.;#n;priintt@a;.;#n;piinntt@
+a;.;##
y!|zY\!%x!,Q!;#y!|zY\!%x!.Q!;#y!zY\!!%x!.Q!;#!zY\!!%x!!.Q!;#!z\!!!%x!!
+.Q!;##
s{Q.*\n}[]g;#<>s{Q.*\n}[]g;#<>sQ.*\nn}[]g;#>sQ.*\nn}[]]g;#>sQ.\nnn}[]]
+g;#>ss
eval;#EndFini!$eval;#EndFini!$eal;#EEndFin!$eal;;##nddFin!$ea;;###nddF
+in!$ee
__DATA__
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000110000000110000000000000000011100000000000000000
000000000001110000001110000000000000000111110000000000000000
000000000011110000011110000000000000001111111000000000000000
000000000011110000011110000000000000001111110000000000000000
000000000011110000011110000000000000001111100000000000000000
000001111111111111111111111110000000001111100000000000000000
000011111111111111111111111100000000000111100000000000000000
000111111111111111111111111000000000000111100000000000000000
000000000011110000011110000000000000000111100000000000000000
000000000011110000011110000000000000000111100000000000000000
000000000011110000011110000000000000000111100000000000000000
000000000011110000011110000000000000000011100000000000000000
000001111111111111111111111110000000000011100000000000000000
000011111111111111111111111100000000000011100000000000000000
000111111111111111111111111000000000000001100000000000000000
000000000011110000011110000000000000000001100000000000000000
000000000011110000011110000000000000000001100000000000000000
000000000011110000011110000000000000000000000000000000000000
000000000011100000011100000000000000000000000000000000000000
000000000011000000011000000000000000000011110000000000000000
000000000000000000000000000000000000000111111000000000000000
000000000000000000000000000000000000000111110000000000000000
000000000000000000000000000000000000000011110000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
There might some very easy way to see what I changed :P (edit: and the Camel is surely broken, but I barely see it myself anyway). It does generate properly aligned code though.