- Timestamp:
- 06/23/08 14:39:46 (5 months ago)
- Location:
- dan/perl/PL_check/trunk
- Files:
-
- 2 modified
Legend:
- Unmodified
- Added
- Removed
-
dan/perl/PL_check/trunk/hack.xs
r14415 r14453 8 8 9 9 OP * next_hack(pTHX) { 10 PerlIO_printf(PerlIO_stderr(), "-- next_hack \n");10 PerlIO_printf(PerlIO_stderr(), "-- next_hack, op_type=%d\n", PL_op->op_type); 11 11 return PL_ppaddr[PL_op->op_type](aTHXR);// 今現在のオペコードのデフォルト実行関数を使うよ 12 12 } … … 20 20 // 次のOP_PRINTの実行フェーズでhook仕掛ける 21 21 next_op->op_ppaddr = next_hack; 22 23 /* 24 return next_op; 25 これやると今printしないデータを処理せずに次のprintまですっ飛ばす 26 けど今printしなきゃいけないスタック処理をしないので 27 次のprintを処理する時に今のprint dataを出力する 28 */ 29 30 /* 31 PL_ppaddr[OP_PRINT](aTHXR); 32 return next_op; 33 これは今のスタックの内容を出力して次のprintまで処理をすっ飛ばすんだけど 34 次のprintで出力すべきデータをスタックに積み込む処理まですっ飛ばしてしまう。 35 */ 36 22 37 break; 23 38 } -
dan/perl/PL_check/trunk/test.pl
r14415 r14453 40 40 41 41 warn "go to print hack"; 42 print "PRINT: 1 \n";43 print "PRINT: 2 \n";42 print "PRINT: 1111\n"; 43 print "PRINT: 2222\n";
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)