$_ = 1 x shift; while( /^(11+?)\1+$/ ) { print length $1; $_= 1 x ( length() / length $1 ) } print length;