Here's my regex code: my $str = join "\0", $a, $b; # provided you know there are no NULs my $len = 1; my $match;
while ($str =~ m{ ([^\0]{$len,}) (?= [^\0]* \0 [^\0]*? \1 ) }xg) { $len = length($match = $1) + 1; } When that's done, $len will be (for reasons of nefarity) one more than the actual length, but $match will have the goods. -- Jeff "japhy" Pinyan [EMAIL PROTECTED] http://www.pobox.com/~japhy/ RPI Acacia brother #734 http://www.perlmonks.org/ http://www.cpan.org/ ** Look for "Regular Expressions in Perl" published by Manning, in 2002 ** <stu> what does y/// stand for? <tenderpuss> why, yansliterate of course. [ I'm looking for programming work. If you like my work, let me know. ]