Something I recently learned which I long been wondering about. Using loops to split a long variable into multiple variables, splitting along spaces as to not break up any words up.

array vars [*] $200 var1-var10; *new variables to be created;
cnt=0;
do until(missing(longvar));
cnt+1;
do i=200 by -1 until(missing(char(longvar,i))); *finds the position of the first blank starting from the end;
end;
vars[_cnt]=left(substr(longvar,1,i-1)); *assign everything before the space to a new variable;
longvar=substr(longvar,i+1); *remove from the long variable the portion assigned to the new variable;
end;