前のページ|次のページ

SASログにPerlデバッグ出力を書き込む

DATAステップはCALL PRXDEBUGルーチンでのデバッグをサポートします。CALL PRXDEBUGを使用して、SASログに送られるPerlデバッグ出力をオンまたはオフにできます。
次の例では、SASログにPerlデバッグ出力を書き込みます。
data _null_;

      /* CALL PRXDEBUG(1) turns on Perl debug output. */
   call prxdebug(1);
   putlog 'PRXPARSE: ';
   re = prxparse('/[bc]d(ef*g)+h[ij]k$/');
   putlog 'PRXMATCH: ';
   pos = prxmatch(re, 'abcdefg_gh_');

      /* CALL PRXDEBUG(0) turns off Perl debug output. */
   call prxdebug(0);
run; 
SASは次の出力をログに書き込みます。
SASデバッグ出力
PRXPARSE:Compiling REx '[bc]d(ef*g)+h[ij]k$' size 41 first at 1 rarest char g at 0 rarest char d at 0 1:ANYOF[bc](10) 10:EXACT <d>(12) 12:CURLYX[0] {1,32767}(26) 14:   OPEN1(16) 16:     EXACT <e>(18) 18:     STAR(21) 19:       EXACT <f>(0) 21:     EXACT <g>(23) 23:   CLOSE1(25) 25:   WHILEM[1/1](0) 26:NOTHING(27) 27:EXACT <h>(29) 29:ANYOF[ij](38) 38:EXACT <k>(40) 40:EOL(41) 41:END(0) anchored 'de' at 1 floating 'gh' at 3..2147483647 (checking floating) stclass 'ANYOF[bc]' minlen 7 PRXMATCH:Guessing start of match, REx '[bc]d(ef*g)+h[ij]k$' against 'abcdefg_gh_'...Did not find floating substr 'gh'...Match rejected by optimizer
Perlデバッグ出力の詳細については、CALL PRXDEBUGルーチンを参照してください。
前のページ|次のページ|ページの先頭へ