#!perl -l sub firstdivergence { my $diff = $_[0] ^ $_[1]; $diff =~ /[^\x00]/g; pos $diff - 1 } sub lastdivergence { my $diff = $_[0] ^ $_[1]; $diff =~ /[^\x00]\x00*$/g; pos $diff - 1 } print firstdivergence 'axcd', 'abced'; # prints 1 print lastdivergence 'axcd', 'abced'; # prints 4