>perl -wMstrict -le "my ($x, $y) = qw{abXcdYef pqXrsYtu}; my $diff = $x ^ $y; $diff =~ tr{\x00-\xff}{=!}; print $diff; print 'number of differences: ', $diff =~ tr{!}{!}; my @i_diffs = do { my $i = 0; map $_->[1], grep $_->[0] eq '!', map [ $_, $i++ ], split '', $diff; }; print qq{differing positions: @i_diffs}; " !!=!!=!! number of differences: 6 differing positions: 0 1 3 4 6 7