You can use TRANWRD to change 10index to index10 a SAS name.
Or you can use the @'quoted string' pointer control. I will post an
example using that method with your current example data in a bit.
Can you provide a more complete example of the input? Sounds like you
may need to scan the data for the words on the left side of the equal
sign first then write some code based on the info obtained from that
Just e-mail to me as it may be too long for posting to the new group.
attrib sex length=$4 informat=$4.;
attrib feature length=$3 informat=$3.;
attrib feature2 length=$3 informat=$3.;
attrib postcode length=8 informat=f4.;
attrib index10 length=8;
_infile_ = translate(_infile_,' ','#');
_infile_ = tranwrd(_infile_,'10index=','index10=');
input (sex feature feature2 postcode index10) (=);