Steve Bertrand > Devel-Examine-Subs-0.08 > Devel::Examine::Subs

Download:
Devel-Examine-Subs-0.08.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.08   Source   Latest Release: Devel-Examine-Subs-0.13

NAME ^

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

SYNOPSIS ^

    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(...);

DESCRIPTION ^

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.

METHODS ^

new

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.

has( { file => $filename, search => $text } )

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.

missing( { file => $filename, search => $text } )

The exact opposite of has.

all( { file => $filename } )

Returns a list of the names of all subroutines found in the file.

CAVEATS ^

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

AUTHOR ^

Steve Bertrand, <steveb at cpan.org>

SUPPORT ^

You can find documentation for this module with the perldoc command.

    perldoc Devel::Examine::Subs

LICENSE AND COPYRIGHT ^

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.

syntax highlighting: