in reply to How to get the name from a reference
With Perl there are amazing things that you can discover about what is going on in a sub. Just some simple example code is shown below. I am unsure as to what you want.
#!/usr/bin/perl -w use strict; print "testing main\n"; x(); sub x { print "In sub x\n"; print " I am: ", WHOamI(), "\n"; SubLevel2(); } sub SubLevel2 { print "in sub SubLevel2\n"; print " I am: ", WHOamI(), "\n"; print " I was called by ", WHOwasI(),"\n"; } sub WHOamI { (caller(1))[3] }; #returns name of the #sub that called this sub sub WHOwasI { (caller(2))[3] }; #returns name of the parent of #the sub that called this sub __END__ #prints testing main In sub x I am: main::x in sub SubLevel2 I am: main::SubLevel2 I was called by main::x
|
|---|