/snap/gh/502/usr/share/perl/5.26.1
NameSizeModeActions
App/-0755rm
Archive/-0755rm
Attribute/-0755rm
autodie/-0755rm
B/-0755rm
Carp/-0755rm
Class/-0755rm
Compress/-0755rm
Config/-0755rm
CPAN/-0755rm
DBM_Filter/-0755rm
Devel/-0755rm
Digest/-0755rm
Encode/-0755rm
encoding/-0755rm
Exporter/-0755rm
ExtUtils/-0755rm
File/-0755rm
Filter/-0755rm
Getopt/-0755rm
HTTP/-0755rm
I18N/-0755rm
IO/-0755rm
IPC/-0755rm
JSON/-0755rm
Locale/-0755rm
Math/-0755rm
Memoize/-0755rm
Module/-0755rm
Net/-0755rm
overload/-0755rm
Params/-0755rm
Parse/-0755rm
Perl/-0755rm
PerlIO/-0755rm
Pod/-0755rm
pod/-0755rm
Search/-0755rm
TAP/-0755rm
Term/-0755rm
Test/-0755rm
Test2/-0755rm
Text/-0755rm
Thread/-0755rm
Tie/-0755rm
Time/-0755rm
Unicode/-0755rm
unicore/-0755rm
User/-0755rm
version/-0755rm
warnings/-0755rm
AnyDBM_File.pm26180644editdlrm
autodie.pm128860644editdlrm
AutoLoader.pm54870644editdlrm
AutoSplit.pm196370644editdlrm
autouse.pm42380644editdlrm
base.pm89310644editdlrm
Benchmark.pm310250644editdlrm
bigint.pm233980644editdlrm
bignum.pm211370644editdlrm
bigrat.pm161540644editdlrm
blib.pm20860644editdlrm
bytes.pm4470644editdlrm
bytes_heavy.pl7580644editdlrm
Carp.pm201480644editdlrm
charnames.pm208670644editdlrm
constant.pm57370644editdlrm
CORE.pod31880644editdlrm
CPAN.pm1414340644editdlrm
DB.pm189220644editdlrm
DBM_Filter.pm143850644editdlrm
deprecate.pm35100644editdlrm
diagnostics.pm190380644editdlrm
Digest.pm107010644editdlrm
DirHandle.pm15560644editdlrm
Dumpvalue.pm175560644editdlrm
dumpvar.pl155550644editdlrm
English.pm47610644editdlrm
Env.pm55240644editdlrm
experimental.pm57950644editdlrm
Exporter.pm23670644editdlrm
Fatal.pm582800644editdlrm
feature.pm44960644editdlrm
fields.pm50220644editdlrm
FileCache.pm55720644editdlrm
FileHandle.pm21110644editdlrm
filetest.pm40030644editdlrm
FindBin.pm45610644editdlrm
if.pm33400644editdlrm
integer.pm1720644editdlrm
Internals.pod25760644editdlrm
less.pm32040644editdlrm
locale.pm34210644editdlrm
Memoize.pm361920644editdlrm
meta_notation.pm21170644editdlrm
NEXT.pm188460644editdlrm
ok.pm9670644editdlrm
open.pm80210644editdlrm
overload.pm44410644editdlrm
overloading.pm9640644editdlrm
parent.pm4780644editdlrm
perl5db.pl3164300644editdlrm
perlfaq.pm780644editdlrm
PerlIO.pm104590644editdlrm
Safe.pm250820644editdlrm
SelectSaver.pm3440644editdlrm
SelfLoader.pm176920644editdlrm
sigtrap.pm76060644editdlrm
sort.pm60810644editdlrm
strict.pm16060644editdlrm
subs.pm8480644editdlrm
Symbol.pm20990644editdlrm
Test.pm300570644editdlrm
Test2.pm63930644editdlrm
Thread.pm82870644editdlrm
UNIVERSAL.pm65940644editdlrm
utf8.pm3420644editdlrm
utf8_heavy.pl316150644editdlrm
vars.pm11490644editdlrm
version.pm17150644editdlrm
version.pod98600644editdlrm
vmsish.pm43130644editdlrm
warnings.pm219500644editdlrm
XSLoader.pm39190644editdlrm
_charnames.pm331660644editdlrm
Edit: /snap/gh/502/usr/share/perl/5.26.1/Exporter.pm (2367B)
package Exporter; require 5.006; # Be lean. #use strict; #no strict 'refs'; our $Debug = 0; our $ExportLevel = 0; our $Verbose ||= 0; our $VERSION = '5.72'; 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__