Something like below could work:
data test;
infile datalines dsd delimiter='|' truncover;
input @;
_infile_=tranwrd(trim(_infile_),' ','|');
_infile_=tranwrd(trim(_infile_),' ','|');
input a b c d;
put a= b= c= d=;
datalines;
blank 1 1 1
2 blank blank 2
3 333 blank 3
4444 4 4 blank
;
run;
...or even so (the left over blanks have now only the meaning of "delimiter"):
data test;
infile datalines dsd delimiter='| ' truncover;
input @;
_infile_=tranwrd(trim(_infile_),' ','|');
input a b c d;
put a= b= c= d=;
datalines;
blank 1 1 1
2 blank blank 2
3 333 blank 3
4444 4 4 blank
;
run;
HTH
Patrick
Message was edited by: Patrick