##
for ( 0..$strLen/2 )
####
for (0..($strLen - 1))
{
$copy .= substr $copy, 0, 1, '';
$cycleLen = $_ + 1;
($str ^ $copy) =~ /^\0*/;
return wantarray ? ($cycleLen, substr $str, 0, $cycleLen)
: $cycleLen if $+[0] == $strLen;
}
####
for ( 1..$strLen/2 )
{
$copy .= substr $copy, 0, 1, '';
return wantarray ? ($_, substr $str, 0, $_) : $_
if $copy eq $str;
}