Use last saved data if available since this is the typical usage.
#-------------------------------------------- # UNIVERSAL #--------------------------------------------
package UNIVERSAL;
sub dir{ my ($s) = @_; # class or object my $ref = ref $s; my $class = $ref ? $ref : $s; # myClass my $pkg = $class . "::"; # MyClass:: my @keys_raw; my $is_special_block = qr/^ (?:BEGIN|UNITCHECK|INIT|CHECK|END|import|DESTROY) $/x;
no strict 'refs'; while( my($key,$stash) = each %$pkg){ # next if $key =~ /$is_special_block/; # Not a special block # next if $key =~ /^ _ /x; # Not private method next if ref $stash; # Stash name should not be a reference next if not defined *$stash{CODE}; # Stash function should be defined push @keys_raw, $key; } my @keys = sort @keys_raw; return @keys if defined wantarray; say join "\n ", "\n$class", @keys; }
To install App::Pod, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::Pod
CPAN shell
perl -MCPAN -e shell install App::Pod
For more information on module installation, please visit the detailed CPAN module installation guide.