Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: a list of functions within a pm

by mikfire (Deacon)
on Jul 19, 2001 at 23:09 UTC ( #98196=note: print w/ replies, xml ) Need Help??


in reply to a list of functions within a pm

I am not exactly sure how you want this list displayed, but the attached code is one I have used before to accomplish a similar job.

It expects the name of the file to be searched as the only command line parameter. It will also skip any subroutine whose name begins with an underscore - as I said, this is ripped from a larger program ( the second toy ) doing something similar.

I also cause it to print the line number where the sub definition begins.

#!/usr/bin/perl -w use strict; my $source = shift @ARGV || ''; my %keyword = (); unless ( $source ) { print "Usage: $0 <file>\n"; exit; } open SRC, $source or die "Couldn't open $source : $!"; while( <SRC> ) { my ( $package, $name ); $package = $1 if ( ! $package && /^package\s+(.+);/ ); next unless ( /^sub\s+(.+){\s*$/ ); $name = $1; next if ( substr($name,0,1) eq "_" ); $name =~ s/\s+$//; $keyword{$name} = $.; } close SRC; for ( keys %keyword ) { print "$keyword{$_}:$_\n"; }

Update: Do NOT use Opera for Solaris when submitting - it seems to add a whole lot of newlines. Sorry for the mess.

HTH,
mikfire


Comment on Re: a list of functions within a pm
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://98196]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (6)
As of 2014-09-03 07:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (35 votes), past polls