sub stest { my $str = shift; my $last_index=1; my @sorted_indexes = sort { $a <=> $b } @_; die "bad index" if( $sorted_indexes[0] < 1 ); my $offset; do { $last_index += ( ( $offset = ( (shift @sorted_indexes || return true) - $last_index ) || next ) ); substr($str, 0, $offset, ""); } while( $str=~/^01|^10/ ); return false; }