>>>>> "Xitong" == Xitong Li <[EMAIL PROTECTED]> writes:
Xitong> Case 1: overlap is in the beginning of a string
Xitong> $string1 =
Xitong> "longoverlapstringfollowedbylongrandomstringadfjakjekjtanc;zitkl;nv;ihqkktls
Xitong> adfjkalfdjladfjladfl"
Xitong> $string2 =
Xitong> "longoverlapstringfollowedbylongrandomstringqiutrnzuktqtkionkajgnyinlcvkjgk"
Xitong> Case 2: overlap is in the middle of a string
Xitong> $string1 =
Xitong> "pnuuermnoucnkdjantrtaklongoverlapstringfollowedbylongrandomstringadfjakjekj
Xitong> tanc;zitkl;nv;ihqkktlsadfjkalfdjladfjladfl"
Xitong> $string2 =
Xitong> "clkjakninkczjfginmrtlongoverlapstringfollowedbylongrandomstringqiutrnzuktqt
Xitong> kionkajgnyinlcvkjgk"
Xitong> Question:
Xitong> Is there any good way to parse out the overlap string (should be
Xitong> "longoverlapstringfollowedbylongrandomstrin") other than tedious repetitive
Xitong> while loop to test one character at a time?
Xitong> Many thanks,
Xitong> xtl
My first attempt was:
$string1 =
"pnuuermnoucnkdjantrtaklongoverlapstringfollowedbylongrandomstringadfjakjekjtanc;zitkl;nv;ihqkktlsadfjkalfdjladfjladfl";
$string2 =
"clkjakninkczjfginmrtlongoverlapstringfollowedbylongrandomstringqiutrnzuktqtkionkajgnyinlcvkjgk";
use Algorithm::Diff qw(LCS); # in the CPAN
print join "", LCS([split //, $string1], [split //, $string2]);
Hmm. This isn't giving results as predicted by the manpage. Maybe
I'm using wrong interface.
--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<[EMAIL PROTECTED]> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!