' 1a2' =~ m/(.(?{$char = substr($_,pos(),1); print "$char "; print $char =~ m|\d| ? "digit\n" : "not digit\n"; }))+/; #### __SIG__ use B; printf "You are here %08x\n", unpack "L!", unpack "P4", pack "L!", B::svref_2object(sub{})->OUTSIDE;