http://qs1969.pair.com?node_id=1202085


in reply to how to find the module of a specific function?

Hello rumpumpel1,

you probably mean that TeamForge6 will use many other modules and you want to spot where login sub is located?

For sure there are safer method, safer in respect to what i propose here, but..

Symbol table has the information you want. Dealing with that is somehow dangerous but some module, for debugging task, can be helpful.

For example Devel::Symdump can be used to inspect symbol table. The following oneliner search the whole symbol table, recursively and in any package for a function given in as $ARGV[0]

perl -MDevel::Symdump -E "package A{sub asub{1}}package B::B{sub bsub{ +1}};; $sym=Devel::Symdump->rnew('main'); for $p($sym->packages){ for ($sym->functions($p)){die qq($_ found in package $p) if $_ +eq $p.'::'.$ARGV[0]} }" bsub B::B::bsub found in package B::B at -e line 1.

PS sligthly modified the above to show that it recurse package names

I have many evil links about symbol table at my homenode

L*

There are no rules, there are no thumbs..
Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.