404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@13.58.39.166: ~ $
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

Filemanager

Name Type Size Permission Actions
Attribute Folder 0755
B Folder 0755
CPAN Folder 0755
Class Folder 0755
Compress Folder 0755
Config Folder 0755
DBM_Filter Folder 0755
Devel Folder 0755
ExtUtils Folder 0755
File Folder 0755
Getopt Folder 0755
I18N Folder 0755
IO Folder 0755
IPC Folder 0755
Locale Folder 0755
Math Folder 0755
Memoize Folder 0755
Module Folder 0755
Net Folder 0755
Pod Folder 0755
Search Folder 0755
Term Folder 0755
Text Folder 0755
Thread Folder 0755
Tie Folder 0755
Time Folder 0755
URI Folder 0755
Unicode Folder 0755
User Folder 0755
encoding Folder 0755
overload Folder 0755
pod Folder 0755
unicore Folder 0755
vendor_perl Folder 0755
warnings Folder 0755
AnyDBM_File.pm File 2.56 KB 0644
AutoLoader.pm File 15.43 KB 0644
AutoSplit.pm File 19.18 KB 0644
Benchmark.pm File 30.3 KB 0644
CORE.pod File 3.11 KB 0644
DB.pm File 18.48 KB 0644
DBM_Filter.pm File 14.05 KB 0644
DirHandle.pm File 1.52 KB 0644
Dumpvalue.pm File 17.14 KB 0644
English.pm File 4.65 KB 0644
FileCache.pm File 5.44 KB 0644
FileHandle.pm File 6.63 KB 0644
FindBin.pm File 4.45 KB 0644
Internals.pod File 2.52 KB 0644
Memoize.pm File 35.34 KB 0644
NEXT.pm File 18.4 KB 0644
PerlIO.pm File 10.21 KB 0644
Safe.pm File 24.49 KB 0644
SelectSaver.pm File 1.05 KB 0644
SelfLoader.pm File 17.28 KB 0644
Symbol.pm File 4.69 KB 0644
Test.pm File 29.35 KB 0644
Thread.pm File 8.09 KB 0644
UNIVERSAL.pm File 6.44 KB 0644
URI.pm File 33.97 KB 0644
XSLoader.pm File 11 KB 0644
_charnames.pm File 32.39 KB 0644
autouse.pm File 4.14 KB 0644
base.pm File 10.72 KB 0644
blib.pm File 2.04 KB 0644
bytes.pm File 3.67 KB 0644
bytes_heavy.pl File 758 B 0644
charnames.pm File 20.38 KB 0644
deprecate.pm File 3.01 KB 0644
diagnostics.pm File 18.59 KB 0644
dumpvar.pl File 15.19 KB 0644
feature.pm File 16.68 KB 0644
fields.pm File 9.27 KB 0644
filetest.pm File 3.91 KB 0644
if.pm File 3.26 KB 0644
integer.pm File 3.18 KB 0644
less.pm File 3.13 KB 0644
locale.pm File 4.74 KB 0644
meta_notation.pm File 2.07 KB 0644
open.pm File 7.83 KB 0644
overload.pm File 52.06 KB 0644
overloading.pm File 1.77 KB 0644
perl5db.pl File 309 KB 0644
sigtrap.pm File 7.43 KB 0644
sort.pm File 5.94 KB 0644
strict.pm File 4.63 KB 0644
subs.pm File 848 B 0644
utf8.pm File 8.9 KB 0644
utf8_heavy.pl File 30.87 KB 0644
vars.pm File 2.36 KB 0644
vmsish.pm File 4.21 KB 0644
warnings.pm File 43.71 KB 0644