perl -MO=Terse -e 'print;exit' LISTOP (0x8133d68) leave [1] OP (0x8126628) enter COP (0x8133d28) nextstate LISTOP (0x8133e30) print OP (0x8133e68) pushmark UNOP (0x8133ce8) null [15] SVOP (0x8133f40) gvsv GV (0x811e120) *_ COP (0x8133d90) nextstate OP (0x8133c98) exit #### perl -d -MO=Terse -e 'print;exit' Loading DB routines from perl5db.pl version 1.28 Editor support available. Enter h or `h h' for help, or `man perldebug' for more help. LISTOP (0x8133268) leave [1] OP (0x8126700) enter COP (0x81265f0) dbstate LISTOP (0x82db488) print OP (0x82db2d8) pushmark UNOP (0x82db468) null [15] SVOP (0x82db350) gvsv GV (0x811e120) *_ COP (0x81334b0) dbstate OP (0x8134a98) exit #### if (PERLDB_LINE && CopLINE(PL_curcop) && PL_curstash != PL_debstash) { cop->op_type = OP_DBSTATE; cop->op_ppaddr = PL_ppaddr[ OP_DBSTATE ]; } else { cop->op_type = OP_NEXTSTATE; cop->op_ppaddr = PL_ppaddr[ OP_NEXTSTATE ]; } #### B::Utils::walkallops_filtered( sub { local $@; return eval { return $_[0]->name eq 'nextstate' and $_[0]->stashpv ne 'DB'; }; }, \ &_enbug_cop, ); #### void Enbugger_enbug_cop( o ) SV * o PROTOTYPE: $ PREINIT: COP* cop; CODE: cop = INT2PTR( COP*, SvIV( SvRV( o ) ) ); cop->op_type = OP_DBSTATE; cop->op_ppaddr = PL_ppaddr[ OP_DBSTATE ];