Have you discovered SAS V9.1's new IF functions yet: IFC and IFN? They don't provide any functionality that you couldn't achieve in V8 (nor V6 nor V5 nor...) but they could make a big change to your SAS coding style.
Consider the following piece of DATA step code (please excuse the sexual stereotyping!):
if gender eq 'M' then hobby='football'; /* Male */
else hobby='knitting'; /* Female */
You will be aware that missing input data (or an earlier code/logic error) will result in the code erroneously following the female route. You might resolve this issue by coding the following:
select (gender);
when ('M') hobby='football';
when ('F') hobby='knitting';
otherwise hobby='data err';
end;
The SELECT statement offers a more robust coding solution, but our code is beginning to get a bit verbose. The IFC and IFN functions resolve this issue by offering three potential outcomes, viz:
hobby = ifc(gender eq 'M','football','knitting','data err');
Do you see how your coding style might be changed significantly? I think the IFC and IFN functions might easily be dismissed as insignificant additions to the SAS language, but when we look a little deeper we see that they are really rather significant.
Check-out the V9.2 documentation for the low-down, such as default lengths for the return values.