Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64
Apache
: 172.26.7.228 | : 18.222.110.70
Cant Read [ /etc/named.conf ]
5.6.40-24+ubuntu18.04.1+deb.sury.org+1
www-data
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
perl /
5.26.1 /
Module /
[ HOME SHELL ]
Name
Size
Permission
Action
CoreList
[ DIR ]
drwxr-xr-x
Load
[ DIR ]
drwxr-xr-x
CoreList.pm
721.37
KB
-rw-r--r--
CoreList.pod
8.32
KB
-rw-r--r--
Load.pm
8.32
KB
-rw-r--r--
Loaded.pm
3.27
KB
-rw-r--r--
Metadata.pm
32.83
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : Loaded.pm
package Module::Loaded; use strict; use Carp qw[carp]; BEGIN { use base 'Exporter'; use vars qw[@EXPORT $VERSION]; $VERSION = '0.08'; @EXPORT = qw[mark_as_loaded mark_as_unloaded is_loaded]; } =head1 NAME Module::Loaded - mark modules as loaded or unloaded =head1 SYNOPSIS use Module::Loaded; $bool = mark_as_loaded('Foo'); # Foo.pm is now marked as loaded $loc = is_loaded('Foo'); # location of Foo.pm set to the # loaders location eval "require 'Foo'"; # is now a no-op $bool = mark_as_unloaded('Foo'); # Foo.pm no longer marked as loaded eval "require 'Foo'"; # Will try to find Foo.pm in @INC =head1 DESCRIPTION When testing applications, often you find yourself needing to provide functionality in your test environment that would usually be provided by external modules. Rather than munging the C<%INC> by hand to mark these external modules as loaded, so they are not attempted to be loaded by perl, this module offers you a very simple way to mark modules as loaded and/or unloaded. =head1 FUNCTIONS =head2 $bool = mark_as_loaded( PACKAGE ); Marks the package as loaded to perl. C<PACKAGE> can be a bareword or string. If the module is already loaded, C<mark_as_loaded> will carp about this and tell you from where the C<PACKAGE> has been loaded already. =cut sub mark_as_loaded (*) { my $pm = shift; my $file = __PACKAGE__->_pm_to_file( $pm ) or return; my $who = [caller]->[1]; my $where = is_loaded( $pm ); if ( defined $where ) { carp "'$pm' already marked as loaded ('$where')"; } else { $INC{$file} = $who; } return 1; } =head2 $bool = mark_as_unloaded( PACKAGE ); Marks the package as unloaded to perl, which is the exact opposite of C<mark_as_loaded>. C<PACKAGE> can be a bareword or string. If the module is already unloaded, C<mark_as_unloaded> will carp about this and tell you the C<PACKAGE> has been unloaded already. =cut sub mark_as_unloaded (*) { my $pm = shift; my $file = __PACKAGE__->_pm_to_file( $pm ) or return; unless( defined is_loaded( $pm ) ) { carp "'$pm' already marked as unloaded"; } else { delete $INC{ $file }; } return 1; } =head2 $loc = is_loaded( PACKAGE ); C<is_loaded> tells you if C<PACKAGE> has been marked as loaded yet. C<PACKAGE> can be a bareword or string. It returns falls if C<PACKAGE> has not been loaded yet and the location from where it is said to be loaded on success. =cut sub is_loaded (*) { my $pm = shift; my $file = __PACKAGE__->_pm_to_file( $pm ) or return; return $INC{$file} if exists $INC{$file}; return; } sub _pm_to_file { my $pkg = shift; my $pm = shift or return; my $file = join '/', split '::', $pm; $file .= '.pm'; return $file; } =head1 BUG REPORTS Please report bugs or other issues to E<lt>bug-module-loaded@rt.cpan.org<gt>. =head1 AUTHOR This module by Jos Boumans E<lt>kane@cpan.orgE<gt>. =head1 COPYRIGHT This library is free software; you may redistribute and/or modify it under the same terms as Perl itself. =cut # Local variables: # c-indentation-style: bsd # c-basic-offset: 4 # indent-tabs-mode: nil # End: # vim: expandtab shiftwidth=4: 1;
Close