$ perl -le' my $x = "--XXXXXXXXX---"; my $y = "----XXXX------"; my $z = "------XXXXX---"; tr/-X/01/ for $x, $y, $z; print for $x, $y, $z; my $m = 0 x length $x; $m =~ s/(.)/ $1 + substr $_, $-[0], 1 /eg for $x, $y, $z; print for "", $m; ' 00111111111000 00001111000000 00000011111000 00112233222000