#!/usr/bin/perl -l BEGIN { $INC{"b.pm"}=$0 } package b; use attributes; use Devel::Peek; our $last; sub MODIFY_CODE_ATTRIBUTES { if ($last) { print "$/-- LAST CODEREF -----"; Dump($last); print "---------------------"; } $last = $_[1]; print "$/-- Current is $_[1]"; Dump($_[1]); } package a; use base "b"; sub x :att {} sub y :att {} __END__ -- Current is CODE(0x8145670) SV = RV(0x813f850) at 0x813f2e8 REFCNT = 1 FLAGS = (PADBUSY,PADMY,ROK) RV = 0x8145670 SV = PVCV(0x812d950) at 0x8145670 REFCNT = 5 FLAGS = () IV = 0 NV = 0 COMP_STASH = 0x0 ROOT = 0x0 XSUB = 0x0 XSUBANY = 0 GVGV::GV = 0x0 FILE = "(null)" DEPTH = 0 FLAGS = 0x0 PADLIST = 0x812d790 OUTSIDE = 0x811b2ac (MAIN) -- LAST CODEREF ----- SV = RV(0x813f854) at 0x8126a7c REFCNT = 1 FLAGS = (ROK) RV = 0x8145670 SV = PVCV(0x812d950) at 0x8145670 REFCNT = 2 FLAGS = () IV = 0 NV = 0 COMP_STASH = 0x812d6b8 "a" START = 0x8130040 ===> 3717 ROOT = 0x81478c0 XSUB = 0x0 XSUBANY = 0 GVGV::GV = 0x812d7d8 "a" :: "x" FILE = "-" DEPTH = 0 FLAGS = 0x0 PADLIST = 0x812d790 OUTSIDE = 0x811b2ac (MAIN) --------------------- -- Current is CODE(0x8148024) SV = RV(0x813f850) at 0x813f2e8 REFCNT = 1 FLAGS = (PADBUSY,PADMY,ROK) RV = 0x8148024 SV = PVCV(0x8167a4c) at 0x8148024 REFCNT = 5 FLAGS = () IV = 0 NV = 0 COMP_STASH = 0x0 ROOT = 0x0 XSUB = 0x0 XSUBANY = 0 GVGV::GV = 0x0 FILE = "(null)" DEPTH = 0 FLAGS = 0x0 PADLIST = 0x816724c OUTSIDE = 0x811b2ac (MAIN)