如何使用SAS Perl在SAS程序中查找某些语句

时间:2016-05-02 18:42:46

标签: perl sas

我没有使用像INDEXW(),FIND()等SAS函数,而是想使用Perl:PRXPARSE和其他人来完成这项工作。

我设法将数千个SAS pgms放在一起以便于搜索。一些pgms具有如下的PROC DATASETS语句:

PROC DATASETS LIB =工作杀人;或

PROC DATASETS LIB = DXT NODETAILS; CONTENTS OUT = WORK.DXT(KEEP = MEMNAME NAME WHERE =(...)DATA = ALL NOPRINT; QUIT;

我不希望其中包含“KILL”的陈述。所以我设置了PRXPARSE语句,如下所示但不起作用:它给了我一切,“KILL”或没有它。

data sw;
retain tgt;
set st end=e;
if _n_ = 1 then do;
  retain tgt;
  pid="/proc datasets ?[^(kill)]/i";
  tgt=prxparse(pid);
end;
call prxsubstr(tgt, contents, position, length);
if position>0;
keep contents mark;
run;

proc print data=sw(obs=999);
run;

希望我让自己明白了。 提前谢谢。

0 个答案:

没有答案