Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: Find repeated patterns in strings

by tlm (Prior)
on Aug 27, 2005 at 14:31 UTC ( [id://487150]=note: print w/replies, xml ) Need Help??


in reply to Find repeated patterns in strings

A simple optimization would be to replace

for (0..($strLen-1))
with
for ( 0..$strLen/2 )
One could get fancier by testing only those cycle lengths that are either 1 or prime factors of $strLen, which could make a difference for long strings.

Also, I think it's simpler just to test for equality of $str and $copy, obviating the xor and the regex:

for ( 1..$strLen/2 ) { $copy .= substr $copy, 0, 1, ''; return wantarray ? ($_, substr $str, 0, $_) : $_ if $copy eq $str; }

the lowliest monk

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://487150]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others surveying the Monastery: (7)
As of 2024-03-28 08:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found