Blame lib/Devel/Symdump/Export.pm
|
Packit |
b48d6e |
package Devel::Symdump::Export;
|
|
Packit |
b48d6e |
require Devel::Symdump;
|
|
Packit |
b48d6e |
require Exporter;
|
|
Packit |
b48d6e |
use Carp;
|
|
Packit |
b48d6e |
use strict;
|
|
Packit |
b48d6e |
use vars qw(@ISA @EXPORT_OK $AUTOLOAD);
|
|
Packit |
b48d6e |
@ISA=('Exporter');
|
|
Packit |
b48d6e |
|
|
Packit |
b48d6e |
@EXPORT_OK=(
|
|
Packit |
b48d6e |
'packages' ,
|
|
Packit |
b48d6e |
'scalars' ,
|
|
Packit |
b48d6e |
'arrays' ,
|
|
Packit |
b48d6e |
'hashes' ,
|
|
Packit |
b48d6e |
'functions' ,
|
|
Packit |
b48d6e |
'filehandles' ,
|
|
Packit |
b48d6e |
'dirhandles' ,
|
|
Packit |
b48d6e |
'ios' ,
|
|
Packit |
b48d6e |
'unknowns' ,
|
|
Packit |
b48d6e |
);
|
|
Packit |
b48d6e |
my %OK;
|
|
Packit |
b48d6e |
@OK{@EXPORT_OK}=(1) x @EXPORT_OK;
|
|
Packit |
b48d6e |
|
|
Packit |
b48d6e |
push @EXPORT_OK, "symdump";
|
|
Packit |
b48d6e |
|
|
Packit |
b48d6e |
# undocumented feature symdump() -- does it save enough typing?
|
|
Packit |
b48d6e |
sub symdump {
|
|
Packit |
b48d6e |
my @packages = @_;
|
|
Packit |
b48d6e |
Devel::Symdump->new(@packages)->as_string;
|
|
Packit |
b48d6e |
}
|
|
Packit |
b48d6e |
|
|
Packit |
b48d6e |
AUTOLOAD {
|
|
Packit |
b48d6e |
my @packages = @_;
|
|
Packit |
b48d6e |
(my $auto = $AUTOLOAD) =~ s/.*:://;
|
|
Packit |
b48d6e |
confess("Unknown function call $auto") unless $OK{$auto};
|
|
Packit |
b48d6e |
my @ret = Devel::Symdump->new->$auto(@packages);
|
|
Packit |
b48d6e |
return @ret;
|
|
Packit |
b48d6e |
}
|
|
Packit |
b48d6e |
|
|
Packit |
b48d6e |
1;
|