http://www.pobox.com/~schwern/src/Module-Info-0.07.tar.gz

New version of Module::Info.  I figured out how to implement
subroutines().  This uses the backend compiler and isn't subject to
the caveats of a regex based one.  If there's a subroutine defined
when the module loads, it'll find it.

In other news, anyone familiar with the guts of the B::Deparse module
contact me, I need help implementing modules_used().

       subroutines
             my %subs = $module->subroutines;

           Returns a hash of all subroutines defined inside this
           module and some info about it.  The key is the *full*
           name of the subroutine (ie. $subs{'Some::Module::foo'}
           rather than just $subs{'foo'}), value is a hash ref
           with information about the subroutine like so:

               start   => line number of the first statement in the subroutine
               end     => line number of the last statement in the subroutine

           Note that the line numbers may not be entirely accu-
           rate and will change as perl's backend compiler
           improves.  They typically correspond to the first and
           last run-time statements in a subroutine.  For exam-
           ple:

               sub foo {
                   package Wibble;
                   $foo = "bar";
                   return $foo;
               }

           Taking "sub foo {" as line 1, Module::Info will report
           line 3 as the start and line 4 as the end.  "package
           Wibble;" is a compile-time statement.  Again, this
           will change as perl changes.

           Note this only catches simple "sub foo {...}" subrou-
           tine declarations.  Anonymous, autoloaded or eval'd
           subroutines are not listed.


0.07  Mon Dec 10 11:09:40 EST 2001
    * Implemented subroutines().  Need help getting modules_used() done.
    - Fixed up $B::Utils::file/line handling in B::Utils.

0.06  Sat Nov 24 20:45:15 EST 2001
    * Implemented packages_inside().  Need help getting the rest done.
    - Distributing a hacked up version of B::Utils until the main
      distribution gets fixed.

0.05  Fri Nov 23 18:06:22 EST 2001
    - Rafael Garcia-Suarez noticed I forgot to deal with code refs in
      @INC.  The plan is to just skip them until someone notices.

-- 

Michael G. Schwern   <[EMAIL PROTECTED]>    http://www.pobox.com/~schwern/
Perl Quality Assurance      <[EMAIL PROTECTED]>         Kwalitee Is Job One
Anti-cow device, don't bother.
        http://www.goats.com/archive/990323.html

Reply via email to