In Excel there is a proper function, quote from their help:
"Capitalizes the first letter in a text string and any other letters in text that follow any character other than a letter. Converts all other letters to lowercase letters."
There is no equivalent SAS function (I think), but is there is easier way than this?
data _null_;
label='I nEED tO_BE/mAdE PRopeR!';
label=lowcase(label);
z=1;
do i=1 to length(label);
if 97 le rank(substr(label,i,1)) le 122 then y=0;
else y=1;
if z=1 then substr(label,i,1)=upcase(substr (label,i,1));
z=y*1;
end;
put label=;
run;