http://qs321.pair.com?node_id=525074


in reply to Auto-detecting module usage

Check out Devel::Dependencies

Replies are listed 'Best First'.
Re^2: Auto-detecting module usage
by Anonymous Monk on Jan 23, 2006 at 23:12 UTC
    Devel::Dependencies solves the *opposite* problem; given a program or module, it tells me which modules depend on that program.

    I want the reverse: if I'm a module, what program just loaded me? I don't want to know what modules a given program depends on; I want to know whether a given module on my system is actually *used* by any program on the system, and if so, which one.

      So, all you have to do is go through all the scripts, and construct the list of modules they use. Fill a database table with that info, and then you can scan the reverse relations.
      Sorry... I misread your question. Are you preparing to migrate these scripts to a new system?
        Sorry... I misread your question. Are you preparing to migrate these scripts to a new system?

        No, we want to replace an incomprehensibly complex module with a simple one that does only what we want. It has one main function (a SQL wrapper), but a lot of tricky side effects (modifies global variables, etc) that may or may not affect how a given program gets run.

        We don't want to break anything in production loads this module when we replace it.

        The first step is to find out everything that's using the old module, so that we can do tests to prove to the production staff that nothing will break when we do finally get rid of it.