51 characters:
$S=$_;map($S=~/^.{$_}/sg,1..$s-1),/(?=(.{1,$s}))/sg
P.S. Oh, you didn't say how the results should be returned... I guess I'm supposed to assign to an array, so this solution is actually 54 characters.
I'm used to the golf challenges where you define a sub that returns the desired results.