What is the efficient way to provide a vector with data of arbitrary length into a shader from which the shader can read values that are not unique for each vertex? This probably can be done with uniforms, but what is the way to use a vector of arbitrary length as a uniform?

P.S. There are shader storage blocks which can be probably used for for that kind of task, but I'd like first to try to get by with uniforms.