use strict; use warnings; use 5.12.0; my $len = 5; my $max = $len - 1; for my $p0 ( 0 .. $max ) { for my $p1 ( $p0+1 .. $max ) { for my $p2 ( $p1+1 .. $max ) { my $str = "0" x $len; substr $str, $p0, 1, '1'; substr $str, $p1, 1, '1'; substr $str, $p2, 1, '1'; say "$str $p0 $p1 $p2"; } } }