Hi, I'm no expert on OO, but I'm a good code librarian. Does this
snippet help?
#!/usr/bin/perl
#given an arbitrary object, get a dump of all
#the functions connected to the object.
use CGI;
my $obj = CGI->new();
print &dump_functions( $obj );
sub dump_functions
{
use Data::Dumper;
use Class::Inspector;
my ( $obj ) = @_;
my ( $ref, $methods);
$ref = ref $obj;
$methods = Class::Inspector->methods( $ref, 'full', 'public' );
@{ $methods } = grep /$ref/, @{ $methods };
return Dumper( $methods );
}
__END__
OUTPUT:
$VAR1 = [
'CGI::AUTOLOAD',
'CGI::DESTROY',
'CGI::XHTML_DTD',
'CGI::add_parameter',
'CGI::all_parameters',
'CGI::binmode',
'CGI::cgi_error',
'CGI::charset',
'CGI::compile',
'CGI::croak',
'CGI::delete',
'CGI::escape',
'CGI::expand_tags',
'CGI::expires',
'CGI::import',
'CGI::init',
'CGI::initialize_globals',
'CGI::make_attributes',
'CGI::new',
'CGI::param',
'CGI::parse_params',
'CGI::print',
'CGI::put',
'CGI::read_from_cmdline',
'CGI::rearrange',
'CGI::save_request',
'CGI::self_or_CGI',
'CGI::self_or_default',
'CGI::to_filehandle',
'CGI::unescape'
];