Hi:
I am confused by this statement:
"When I output this to a permanent dataset using PUT statement, how should I handle these?"
You would output observations to a permanent SAS dataset in 1 of 2 ways (since you did not show your whole program, there's no way to know which way you are using):
1) implicit output (where there is an implied OUTPUT for every iteration of the DATA step program)
2) explicit output with an OUTPUT statement
If you are using an OUTPUT statement (either implicit or explicit), then you would be creating a permanent SAS dataset.
If, on the other hand, you have a FILENAME statement and PUT statements, you would not be creating an permanent SAS dataset -- you would be creating a permanent file (usually sequential or ASCII text file), as defined with a DD statement or a filename statement. The INPUT statement generally reads data from a 'flat" or sequential file. The PUT statement generally writes data to a "flat" or sequential file. This "flat" file from a PUT statement would not be a permanent SAS dataset -- you would point to it with a FILENAME statement, not with a LIBNAME statement.
(And let's not forget that the rest of your program might use the PUT function to convert numeric variables to character variables.)
I also notice that your program has a single trailing @ character at the end of the INPUT statement. Generally this means that you are holding the INPUT line for another execution of the INPUT statement. Seeing more of your program, including other INPUT, PUT and OUTPUT statements might be useful.
For further reading, I recommend these:
http://support.sas.com/documentation/cdl/en/lrdict/63026/HTML/default/viewer.htm#a000146292.htm (the INPUT statement)
http://support.sas.com/documentation/cdl/en/lrdict/63026/HTML/default/viewer.htm#a000146292.htm (Using Line-Hold Specifiers)
http://support.sas.com/documentation/cdl/en/basess/58133/HTML/default/a002645780.htm
http://www2.sas.com/proceedings/sugi29/253-29.pdf
cynthia