>>325
でもなぜか
for($i=0;$i<=$#all-1;$i++ ) だと
(2-3),(2-3),(2-3),(2-3),…となって一個飛ばしの差分にしまったんです。

for $i (0..$#all-1) だとちゃんと
(2-3),(3-2),(2-3),(3-2),(2-3),…となりできるんですが。