sub is_fibo { $_=pop;$n=0;{/^|(.)\1*/g?$n^($c=length$&)?0:($n=1-$c+pos,redo):$n>2} } #### sub is_fibo { $_=pop;$n=1;{/(.)\1*/g?$n^($c=length$&)?0:($n=1-$c+pos,redo):$n>2} } #### sub is_fibo { $_=pop;$n=0;$p=1;{/(.)\1*/g?pos^$n?0:($n+=$p+1,$p=pos,redo):$p>2} } #### sub is_fibo { $n=0;pop=~/^((.)(??{"\Q$2"x$n})(?!\2)(?{$n=-++$n+pos})){3,}$/ }