>>>>> "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!

Reply via email to