Split boolean array into array for sets of trues and false

Is there a function that does something like this:

I have a Boolean array, e.g. input = [true,true,false,false,false,false,true,true,true,false,false,true]. I want to get a set of arrays for the corresponding regions of identical value, that is:
output=[[true,true],[false,false,false,false],[true,true,true],[false,false],[true]].

It is unlikely that there is a function that does exactly that. But here is one way to do it:

julia> input = [true,true,false,false,false,false,true,true,true,false,false,true];

julia> new_input = Vector{Bool}[]
       neq = 1
       for i in 2:length(input)
         if input[i] == input[i-1]
           neq += 1
         else
           push!(new_input,[input[i-1] for j in 1:neq])
           neq = 1
         end
       end

julia> new_input
4-element Array{Array{Bool,1},1}:
 [1, 1]
 [0, 0, 0, 0]
 [1, 1, 1]
 [0, 0]


Not exactly this form, but easy to get from StasBase.jl rle.

Thanks for the help, this is useful.