You could try this:
#! perl -slw use strict; my $para = do{ local $/; <DATA> }; $para =~ tr[ \t\n][ ]s; ## normalise whitespace my $longest = ''; length( $1 ) > length( $longest ) and print '?', $longest = $1 while $para =~ m[(.+)(?=.*?\1)]ig; print $longest; __DATA__ Ah, I am kind of embarrassed not to have thought of this. I was so focused on look ahead, for some reason, but yeah, this works. The thing is, I need to match more than one sentence, potentially whole sections of texts can be duplicated and I need to find them. I will try your solution see how it goes. Thanks!I am kind of embarrassed not to have thought of this for some reason, but yeah, this works. The thing is, I need to match more than one sentence,
Outputs:
C:\test>junk24 ?Ah, ?I am kind of embarrassed not to have thought of this ?for some reason, but yeah, this works. The thing is, I need to match +more than one sentence, for some reason, but yeah, this works. The thing is, I need to match m +ore than one sentence,
Remove the print '?', once your happy it is doing the right thing.
In reply to Re: Finding duplicate text in a paragraph
by BrowserUk
in thread Finding duplicate text in a paragraph
by Jester
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |