/
usr
/
share
/
perl5
/
/usr/share/perl5
mkdir
upload
Name
Size
Mode
Actions
Attribute/
-
0755
rm
B/
-
0755
rm
Class/
-
0755
rm
Compress/
-
0755
rm
Config/
-
0755
rm
CPAN/
-
0755
rm
DBM_Filter/
-
0755
rm
Devel/
-
0755
rm
encoding/
-
0755
rm
ExtUtils/
-
0755
rm
File/
-
0755
rm
Getopt/
-
0755
rm
I18N/
-
0755
rm
IO/
-
0755
rm
IPC/
-
0755
rm
Locale/
-
0755
rm
Math/
-
0755
rm
Memoize/
-
0755
rm
Module/
-
0755
rm
Net/
-
0755
rm
overload/
-
0755
rm
Pod/
-
0755
rm
pod/
-
0755
rm
Search/
-
0755
rm
Term/
-
0755
rm
Text/
-
0755
rm
Thread/
-
0755
rm
Tie/
-
0755
rm
Time/
-
0755
rm
Unicode/
-
0755
rm
unicore/
-
0755
rm
URI/
-
0755
rm
User/
-
0755
rm
vendor_perl/
-
0755
rm
warnings/
-
0755
rm
AnyDBM_File.pm
2618
0644
edit
dl
rm
AutoLoader.pm
15797
0644
edit
dl
rm
AutoSplit.pm
19637
0644
edit
dl
rm
autouse.pm
4238
0644
edit
dl
rm
base.pm
10980
0644
edit
dl
rm
Benchmark.pm
31025
0644
edit
dl
rm
blib.pm
2086
0644
edit
dl
rm
bytes.pm
3754
0644
edit
dl
rm
bytes_heavy.pl
758
0644
edit
dl
rm
charnames.pm
20867
0644
edit
dl
rm
CORE.pod
3188
0644
edit
dl
rm
DB.pm
18922
0644
edit
dl
rm
DBM_Filter.pm
14385
0644
edit
dl
rm
deprecate.pm
3079
0644
edit
dl
rm
diagnostics.pm
19038
0644
edit
dl
rm
DirHandle.pm
1556
0644
edit
dl
rm
Dumpvalue.pm
17556
0644
edit
dl
rm
dumpvar.pl
15555
0644
edit
dl
rm
English.pm
4761
0644
edit
dl
rm
feature.pm
17085
0644
edit
dl
rm
fields.pm
9489
0644
edit
dl
rm
FileCache.pm
5572
0644
edit
dl
rm
FileHandle.pm
6784
0644
edit
dl
rm
filetest.pm
4003
0644
edit
dl
rm
FindBin.pm
4561
0644
edit
dl
rm
if.pm
3340
0644
edit
dl
rm
integer.pm
3254
0644
edit
dl
rm
Internals.pod
2576
0644
edit
dl
rm
less.pm
3204
0644
edit
dl
rm
locale.pm
4855
0644
edit
dl
rm
Memoize.pm
36192
0644
edit
dl
rm
meta_notation.pm
2117
0644
edit
dl
rm
NEXT.pm
18846
0644
edit
dl
rm
open.pm
8021
0644
edit
dl
rm
overload.pm
53314
0644
edit
dl
rm
overloading.pm
1808
0644
edit
dl
rm
perl5db.pl
316420
0644
edit
dl
rm
PerlIO.pm
10459
0644
edit
dl
rm
Safe.pm
25082
0644
edit
dl
rm
SelectSaver.pm
1076
0644
edit
dl
rm
SelfLoader.pm
17692
0644
edit
dl
rm
sigtrap.pm
7606
0644
edit
dl
rm
sort.pm
6081
0644
edit
dl
rm
strict.pm
4738
0644
edit
dl
rm
subs.pm
848
0644
edit
dl
rm
Symbol.pm
4799
0644
edit
dl
rm
Test.pm
30057
0644
edit
dl
rm
Thread.pm
8287
0644
edit
dl
rm
UNIVERSAL.pm
6594
0644
edit
dl
rm
URI.pm
34790
0644
edit
dl
rm
utf8.pm
9116
0644
edit
dl
rm
utf8_heavy.pl
31615
0644
edit
dl
rm
vars.pm
2414
0644
edit
dl
rm
vmsish.pm
4313
0644
edit
dl
rm
warnings.pm
44756
0644
edit
dl
rm
XSLoader.pm
11267
0644
edit
dl
rm
_charnames.pm
33166
0644
edit
dl
rm
Edit:
/usr/share/perl5/if.pm
(3340B)
package if; $VERSION = '0.0606'; sub work { my $method = shift() ? 'import' : 'unimport'; unless (@_ >= 2) { my $type = ($method eq 'import') ? 'use' : 'no'; die "Too few arguments to '$type if' (some code returning an empty list in list context?)" } return unless shift; # CONDITION my $p = $_[0]; # PACKAGE (my $file = "$p.pm") =~ s!::!/!g; require $file; # Works even if $_[0] is a keyword (like open) my $m = $p->can($method); goto &$m if $m; } sub import { shift; unshift @_, 1; goto &work } sub unimport { shift; unshift @_, 0; goto &work } 1; __END__ =head1 NAME if - C<use> a Perl module if a condition holds (also can C<no> a module) =head1 SYNOPSIS use if CONDITION, MODULE => ARGUMENTS; no if CONDITION, MODULE => ARGUMENTS; =head1 DESCRIPTION The C<if> module is used to conditionally load or unload another module. The construct use if CONDITION, MODULE => ARGUMENTS; will load MODULE only if CONDITION evaluates to true. The above statement has no effect unless C<CONDITION> is true. If the CONDITION does evaluate to true, then the above line has the same effect as: use MODULE ARGUMENTS; The use of C<< => >> above provides necessary quoting of C<MODULE>. If you don't use the fat comma (eg you don't have any ARGUMENTS), then you'll need to quote the MODULE. =head2 EXAMPLES The following line is taken from the testsuite for L<File::Map>: use if $^O ne 'MSWin32', POSIX => qw/setlocale LC_ALL/; If run on any operating system other than Windows, this will import the functions C<setlocale> and C<LC_ALL> from L<POSIX>. On Windows it does nothing. The following is used to L<deprecate> core modules beyond a certain version of Perl: use if $] > 5.016, 'deprecate'; This line is taken from L<Text::Soundex> 3.04, and marks it as deprecated beyond Perl 5.16. If you C<use Text::Soundex> in Perl 5.18, for example, and you have used L<warnings>, then you'll get a warning message (the deprecate module looks to see whether the calling module was C<use>'d from a core library directory, and if so, generates a warning), unless you've installed a more recent version of L<Text::Soundex> from CPAN. You can also specify to NOT use something: no if $] ge 5.021_006, warnings => "locale"; This warning category was added in the specified Perl version (a development release). Without the C<'if'>, trying to use it in an earlier release would generate an unknown warning category error. =head1 BUGS The current implementation does not allow specification of the required version of the module. =head1 SEE ALSO L<Module::Requires> can be used to conditionally load one or modules, with constraints based on the version of the module. Unlike C<if> though, L<Module::Requires> is not a core module. L<Module::Load::Conditional> provides a number of functions you can use to query what modules are available, and then load one or more of them at runtime. L<provide> can be used to select one of several possible modules to load, based on what version of Perl is running. =head1 AUTHOR Ilya Zakharevich L<mailto:ilyaz@cpan.org>. =head1 COPYRIGHT AND LICENCE This software is copyright (c) 2002 by Ilya Zakharevich. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut
Save
cmd:
run