4x4魔方陣にてちょいと調べた元ワンライナー

perl -e "
@m=split//,'AaBbEeFfMmNnPpQq';
@a=qw/1100 1010 1001 0110 0101 0011/;
for$b(qw/0505 1441 0550 0145 4051/){
	@c=split//,$b;
	for$d(@c){
		push@e,split//,$a[$d];
	}
	push @f,[@e];
	@e=();
}
for$g(0..2){
	for$i(0..3){
		for$j(0..3){
			$k[$i+$j*4]=$f[$g]->[3-$j+$i*4]
		}
	}
	push@f,[@k];@k=();
}
for$g(0..7){
	push@f,[
		map{1-$_}
		@{$f[$g]}
		]
	}
@f=@f[0,8,5,13,1,9,6,14,2,10,7,15,3,11,4,12];
print join qq/\n/,(map{join'',@$_}@f,'');
for$a(0..15){
	for$b(0..15){
		next if($a^$b)<2;
		for$c(0..15){
			next if($a^$c)<2;
			next if($b^$c)<2;
			for$d(0..15){
				next if($a^$d)<2;
				next if($b^$d)<2;
				next if($c^$d)<2;
				&z;
			}
		}
	}
}
sub z{
	@g=map{
		$f[$a]->[$_]*8+$f[$b]->[$_]*4+$f[$c]->[$_]*2+$f[$d]->[$_]
	}(0..15);
	@g=sort{$a==$b?$h=1:$a<=>$b}@g;
	if(!$h){
		print map{$m[$_]}($a,$b,$c,$d);
		print qq/\t/;
		$y++;
		print qq/\n/ if $y%10==0;
	}
	$h=0;
}
print qq/\n/,$y/8;

これでは880全パターン出てこないのか…

それにしても意味不明なこと凶悪この上ない。
明日になればきっと…
自分のプログラム - 何が何だか わからない・・・ - はてなセリフ