use strict; my $row = join '', map '0', 1..18; $row .= "\n"; for my $i_1 (0..12) { substr($row, $i_1, 1, 1); for my $i_2 (($i_1+1)..13) { substr($row, $i_2, 1, 1); for my $i_3 (($i_2+1)..14) { substr($row, $i_3, 1, 1); for my $i_4 (($i_3+1)..15) { substr($row, $i_4, 1, 1); for my $i_5 (($i_4+1)..16) { substr($row, $i_5, 1, 1); for my $i_6 (($i_5+1)..17) { substr($row, $i_6, 1, 1); print $row; substr($row, $i_6, 1, 0); } substr($row,$i_5, 1, 0); } substr($row, $i_4, 1, 0); } substr($row, $i_3, 1, 0); } substr($row, $i_2, 1, 0); } substr($row, $i_1, 1, 0); }