Hello,
Do I need to explain how it works?
Aziz,,,
#!/usr/bin/perl -w
use strict;
print `cat $0`;
print "\nOUTPUT:\n";
while(<DATA>){
chomp;
print "$_\n" if is_fibo($_);
}
sub is_fibo {
my ($str,$r,$s) = (shift, -1, 0);
($r,$s) = ($s,$r+$s+1)
while $str =~ s#^((.)\2{$s})## and $str !~ /^\Q$2\E/;
return not length $str;
}
__DATA__
Pass
abaabbbaaaaabbbbbbbbaaaaaaaaaaaaa
a aa aaaaa
@!%%+++*****
Isee
Fail
aaaaaaaaaaaa
abbcccddddd
ab
OUTPUT:
Pass
abaabbbaaaaabbbbbbbbaaaaaaaaaaaaa
a aa aaaaa
@!%%+++*****
Isee
ab