Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: query for methods?

by ariels (Curate)
on Jul 03, 2002 at 09:26 UTC ( #179106=note: print w/replies, xml ) Need Help??

in reply to query for methods?

The debugger command `m' shows "methods" defined for a package, so you certainly can do it.

How? Look for functions referenced in the %{PACKAGE_NAME::} hash. Here's an example...

#!/usr/local/bin/perl -w # Find all functions in specified package my $pkg = shift; eval "use $pkg; 1" or die "Failed to load $pkg: $@\n"; # print functions while (my ($key, $val) = each %{"${pkg}::"}) { print "$key\n" if defined *{$val}{CODE}; }
Run giving a package name as argument.

Note that we're using some symrefs here (to access the %{"${pkg}::"} hash), so as least that line should be free of strictness.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://179106]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (6)
As of 2017-07-20 19:50 GMT
Find Nodes?
    Voting Booth?
    I came, I saw, I ...

    Results (313 votes). Check out past polls.