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


in reply to Re^5: Finding repeat sequences.
in thread Finding repeat sequences.

Thought you might like to see my refactoring of your algorithm.

Same performance, but somewhat clearer implementation:

hdbm => sub { my $r = shift; my $i = 1; until( substr( $$r, $i ) eq substr( $$r, 0, -$i ) ) { my $j = index( $$r, substr( $$r, 0, $i ), $i+1 ); $i = $j > 0 ? $j : ++$i; } return substr( $$r, 0, $i ) },

Specifically, it avoids the unfounded "infinite loop" charge without needing to introduce a redundant test.


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.