http://www.perlmonks.org?node_id=111715


in reply to Re: Patter Finding
in thread Pattern Finding

Well George I came up with the same number of 'patterns' but I didnt need a regex. I thought you might like to see it:
my $s='helloworldhellohellohihellohiworld'; #determine every substring in the original my %hash; for my $i (0..length($s)-1) { $hash{substr($s,$i,$_)}++ for (1..length($s)-$i); } #filter out singles and the chars %hash=map { ($hash{$_}>1 && length($_)>1) ? ($_,$hash{$_}) :() } keys %hash; #yes this is how i format maps #and ternary ops.. :-) #print the results use Data::Dumper; print Dumper(\%hash);
Id love to know how the OP wanted the computer to tell that 'hello' is a word but 'elloh' isnt... (forgetting real english words that are embedded like 'low' 'el' 'hell')

Incidentally get the following results (reformatted):

el,ell,ello,elloh,ellohi, he,hel,hell,hello,helloh,hellohi,hi, ld,ll,llo,lloh,llohi,lo,loh,lohi, oh,ohi,or,orl,orld, rl,rld,wo,wor,worl,world
I have a feeling there isn't really a way to do what the OP wants to do. Its not really prefix matching, nor suffix matching....

To the OP what should happen here if said 7 words? 'hellohiothellobrakerakerashash'

Yves
--
You are not ready to use symrefs unless you already know why they are bad. -- tadmc (CLPM)

Update minor bugfixes and challenge to Op