#!/bin/env perl
use strict;
use warnings;
my $s1 = 'xcfadfasdfdfdfdfdfdfdfdfdfasf34lk343434343433333fdasfd';
my $s2 = 'dadfdasdfdfdfdfdfdfdfdfdf3434343434343jfshasdazlzlasbfasf';
warn &max_mutual_str($s1, $s2);
sub max_mutual_str
{
my ($cnt_offest, $cnt_length) = (0, 1);
my ($substr_offest, $substr_length) = (0, 0);
my $str_length = length($_[0]);
while ($str_length - $cnt_offest > $substr_length)
{
if (index($_[1], substr($_[0], $cnt_offest, $cnt_length)) == -1)
{
++$cnt_offest;
}
else
{
if ($substr_length < $cnt_length)
{
($substr_offest, $substr_length) = ($cnt_offest, $cnt_length);
}
++$cnt_length;
}
}
return substr($_[0], $substr_offest, $substr_length);
}
|