Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: Was a module use'd or require'd?

by sfink (Deacon)
on Aug 14, 2007 at 04:41 UTC ( #632393=note: print w/replies, xml ) Need Help??

in reply to Was a module use'd or require'd?

How about Devel::Snapshot?

I read the linked blog, and I'm still not clear on why you need to distinguish the two. At least as a first cut, wouldn't it be adequate to just print out all of the effects of the use/require? As in, symbol table entries, variable assignments, etc.? You can figure out what package a particular subroutine was defined in via B::Deparse's coderef2text, so you can still group things by package and then output an alias statement (sub A::f {...}; *B::g = *A::f;) rather than a redefinition (sub A::F {...}; sub B::g { ... }) or a chained assignment: *A::f = *B::g = sub { ... }.

I have to admit that I haven't thought very hard about it, though.

I guess I can see the value in making the output code look as much as possible like the input code, although for things where this would be useful, I'm not sure if that's relevant. (If you're debugging something that autogenerates classes, then there's really no input that's useful to imitate.)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://632393]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (2)
As of 2018-04-22 09:30 GMT
Find Nodes?
    Voting Booth?