#!/usr/bin/env perl use strict; use warnings; use List::Util qw(zip); my $str1='LFGSLSIIVAHHM'; my $str2='LFGSLSIIVSHHM'; my ($s1len, $s2len) = map {length} ($str1, $str2); die "Length mismatch: $str1 ($s1len) != $str2 ($s2len).\n" if $s1len != $s2len; my $match = grep {$_->[0] eq $_->[1]} zip [split //, $str1], [split //, $str2]; my $mismatch = $s1len-$match; print "Matches: $match\nMismatches: $mismatch\nPercent match: ", sprintf("%.01f", ($match / $s1len) * 100), "\n";