XYZ File Manager
Current Path:
/usr/lib/x86_64-linux-gnu/perl-base
usr
/
lib
/
x86_64-linux-gnu
/
perl-base
/
📁
..
📄
AutoLoader.pm
(5.36 KB)
📁
Carp
📄
Carp.pm
(24.8 KB)
📄
Config.pm
(3.14 KB)
📄
Config_git.pl
(409 B)
📄
Config_heavy.pl
(54.46 KB)
📄
Cwd.pm
(16.62 KB)
📄
DynaLoader.pm
(11 KB)
📄
Errno.pm
(4.8 KB)
📁
Exporter
📄
Exporter.pm
(2.28 KB)
📄
Fcntl.pm
(2.05 KB)
📁
File
📄
FileHandle.pm
(2.06 KB)
📁
Getopt
📁
Hash
📁
IO
📄
IO.pm
(469 B)
📁
IPC
📁
List
📄
POSIX.pm
(19.91 KB)
📁
Scalar
📄
SelectSaver.pm
(344 B)
📄
Socket.pm
(13.5 KB)
📄
Symbol.pm
(2.15 KB)
📁
Text
📁
Tie
📄
XSLoader.pm
(4.02 KB)
📄
attributes.pm
(3 KB)
📁
auto
📄
base.pm
(8.7 KB)
📄
builtin.pm
(210 B)
📄
bytes.pm
(489 B)
📄
bytes_heavy.pl
(758 B)
📄
constant.pm
(5.6 KB)
📄
feature.pm
(7.38 KB)
📄
fields.pm
(4.89 KB)
📄
integer.pm
(172 B)
📄
lib.pm
(2.23 KB)
📄
locale.pm
(3.37 KB)
📄
overload.pm
(4.39 KB)
📄
overloading.pm
(964 B)
📄
parent.pm
(460 B)
📄
re.pm
(9.33 KB)
📄
strict.pm
(1.57 KB)
📁
unicore
📄
utf8.pm
(341 B)
📄
vars.pm
(1.12 KB)
📁
warnings
📄
warnings.pm
(28.97 KB)
Editing: Exporter.pm
package Exporter; use strict; no strict 'refs'; our $Debug = 0; our $ExportLevel = 0; our $Verbose ||= 0; our $VERSION = '5.77'; our %Cache; sub as_heavy { require Exporter::Heavy; # Unfortunately, this does not work if the caller is aliased as *name = \&foo # Thus the need to create a lot of identical subroutines my $c = (caller(1))[3]; $c =~ s/.*:://; \&{"Exporter::Heavy::heavy_$c"}; } sub export { goto &{as_heavy()}; } sub import { my $pkg = shift; my $callpkg = caller($ExportLevel); if ($pkg eq "Exporter" and @_ and $_[0] eq "import") { *{$callpkg."::import"} = \&import; return; } # We *need* to treat @{"$pkg\::EXPORT_FAIL"} since Carp uses it :-( my $exports = \@{"$pkg\::EXPORT"}; # But, avoid creating things if they don't exist, which saves a couple of # hundred bytes per package processed. my $fail = ${$pkg . '::'}{EXPORT_FAIL} && \@{"$pkg\::EXPORT_FAIL"}; return export $pkg, $callpkg, @_ if $Verbose or $Debug or $fail && @$fail > 1; my $export_cache = ($Cache{$pkg} ||= {}); my $args = @_ or @_ = @$exports; if ($args and not %$export_cache) { s/^&//, $export_cache->{$_} = 1 foreach (@$exports, @{"$pkg\::EXPORT_OK"}); } my $heavy; # Try very hard not to use {} and hence have to enter scope on the foreach # We bomb out of the loop with last as soon as heavy is set. if ($args or $fail) { ($heavy = (/\W/ or $args and not exists $export_cache->{$_} or $fail and @$fail and $_ eq $fail->[0])) and last foreach (@_); } else { ($heavy = /\W/) and last foreach (@_); } return export $pkg, $callpkg, ($args ? @_ : ()) if $heavy; local $SIG{__WARN__} = sub {require Carp; &Carp::carp} if not $SIG{__WARN__}; # shortcut for the common case of no type character *{"$callpkg\::$_"} = \&{"$pkg\::$_"} foreach @_; } # Default methods sub export_fail { my $self = shift; @_; } # Unfortunately, caller(1)[3] "does not work" if the caller is aliased as # *name = \&foo. Thus the need to create a lot of identical subroutines # Otherwise we could have aliased them to export(). sub export_to_level { goto &{as_heavy()}; } sub export_tags { goto &{as_heavy()}; } sub export_ok_tags { goto &{as_heavy()}; } sub require_version { goto &{as_heavy()}; } 1; __END__
Upload File
Create Folder