sub mismatches { my($source, $target) = @_; my @sparts = ($source =~ /(\[.*?\]|.)/g); scalar grep substr($target, $_, 1) !~ /^$sparts[$_]/, 0 .. $#sparts; }