I am trying to write a macro that puts a prefix inside all quoted strings in a list. It does work, but throws Note 49-169 for all prefix that seem not to make sense to SAS. %macro prefixstrings(stringlist, prefix);
%sysfunc(prxchange(s/\'(\w+)/'&prefix$1/,-1,&stringlist))
%mend;
%put %prefixstrings(unquoted test 'quoted test', x);
/* no complaints because apparently '...'x is detected as having a meaning */
%put %prefixstrings(unquoted test 'quoted test', A);
/* NOTE 49-169 ... :-( */ Is there an easy workaround to avoid this? Putting a blank before &prefix is no option since the result is undesired.
... View more