I'm trying something like:

proc iml;
s = {"Introduction,to SAS/IML... programming!", "Take it a little further"};

delims = ' ,.!';
n = countw(s, delims);
ctr=nrow(n);
delims=repeat(delims,ctr,1);

ctr2=j(ctr,1,1);
n=ctr2||n;

words = scan(t(s), 1:2, delims`); /* pass parameter vector: create vector of words */
print words;

If I put 1:n as second argument to the scan function it gives an error. If I put 1:2 the output is the first Word of the 1st row (Introduction) and the 2nd Word of the second row(it). I don't succeed in making words a matrix as I don't know how to convert the countw result into a vector like {1:4, 1:5}...