
Devel::Examine::Subs - Get names of subroutines containing certain text

use Devel::Examine::Subs;
my $file = 'perl.pl';
my $find = 'function(';
# list of sub names where the sub contains the text "function("
my @has = Devel::Examine::Subs->has({ file => $file, search => $find });
# same as has(), but returns the opposite
my @missing = Devel::Examine::Subs->missing({ file => $file, search => $find });
# get all sub names in a file
my @subs = Devel::Examine::Subs->all({ file => $file });
# There's also an OO interface to save typing if you will be making
# multiple calls
my $des = Devel::Examine::Subs->new();
$des->has(...);
$des->missing(...);
$des->all(...);

Reads into Perl program and module files returning the names of its subroutines, optionally limiting the names returned to subs that contain or do not contain specified text.

Instantiates a new object. This module was designed for one-off calls through the class methods. Creating an object will save keystrokes if multiple calls are required.
Takes the name of a file to search, and the text you want to search for within each sub. Useful to find out which subs call other methods.
Returns a list of names of the subs where the subroutine containes the text. In scalar context, returns the count of subs containing the found text.
The exact opposite of has.
Returns a list of the names of all subroutines found in the file.

subs that begin indented (such as closures and those within other blocks) will not be counted.

Steve Bertrand, <steveb at cpan.org>

You can find documentation for this module with the perldoc command.
perldoc Devel::Examine::Subs

Copyright 2012 Steve Bertrand.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.