[ Avaa Bypassed ]




Upload:

Command:

www-data@3.135.184.166: ~ $
package deprecate;
use strict;
use warnings;
our $VERSION = 0.04;

# our %Config can ignore %Config::Config, e.g. for testing
our %Config;
unless (%Config) { require Config; *Config = \%Config::Config; }

# Debian-specific change: recommend the separate Debian packages of
# deprecated modules where available

our %DEBIAN_PACKAGES = (
    'B::Debug'         => 'libb-debug-perl',
    'Locale::Codes'    => 'liblocale-codes-perl',
    'Locale::Country'  => 'liblocale-codes-perl',
    'Locale::Language' => 'liblocale-codes-perl',
);

# This isn't a public API. It's internal to code maintained by the perl-porters
# If you would like it to be a public API, please send a patch with
# documentation and tests. Until then, it may change without warning.
sub __loaded_from_core {
    my ($package, $file, $expect_leaf) = @_;

    foreach my $pair ([qw(sitearchexp archlibexp)],
		      [qw(sitelibexp privlibexp)]) {
	my ($site, $priv) = @Config{@$pair};
	if ($^O eq 'VMS') {
	    for my $d ($site, $priv) { $d = VMS::Filespec::unixify($d) };
	}
	# Just in case anyone managed to configure with trailing /s
	s!/*$!!g foreach $site, $priv;

	next if $site eq $priv;
	if (uc("$priv/$expect_leaf") eq uc($file)) {
	    return 1;
	}
    }
    return 0;
}

sub import {
    my ($package, $file) = caller;

    my $expect_leaf = "$package.pm";
    $expect_leaf =~ s!::!/!g;

    if (__loaded_from_core($package, $file, $expect_leaf)) {
	my $call_depth=1;
	my @caller;
	while (@caller = caller $call_depth++) {
	    last if $caller[7]			# use/require
		and $caller[6] eq $expect_leaf;	# the package file
	}
	unless (@caller) {
	    require Carp;
	    Carp::cluck(<<"EOM");
Can't find use/require $expect_leaf in caller stack
EOM
	    return;
	}

	# This is fragile, because it
	# is directly poking in the internals of warnings.pm
	my ($call_file, $call_line, $callers_bitmask) = @caller[1,2,9];

	if (defined $callers_bitmask
	    && (vec($callers_bitmask, $warnings::Offsets{deprecated}, 1)
		|| vec($callers_bitmask, $warnings::Offsets{all}, 1))) {
		if (my $deb = $DEBIAN_PACKAGES{$package}) {
		    warn <<"EOM";
$package will be removed from the Perl core distribution in the next major release. Please install the separate $deb package. It is being used at $call_file, line $call_line.
EOM
		} else {
		    warn <<"EOM";
$package will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at $call_file, line $call_line.
EOM
		}
	}
    }
}

1;

__END__

=head1 NAME

deprecate - Perl pragma for deprecating the inclusion of a module in core

=head1 SYNOPSIS

    use deprecate;  # warn about future absence if loaded from core


=head1 DESCRIPTION

This pragma simplifies the maintenance of dual-life modules that will no longer
be included in the Perl core in a future Perl release, but are still included
currently.

The purpose of the pragma is to alert users to the status of such a module by
issuing a warning that encourages them to install the module from CPAN, so that
a future upgrade to a perl which omits the module will not break their code.

This warning will only be issued if the module was loaded from a core library
directory, which allows the C<use deprecate> line to be included in the CPAN
version of the module. Because the pragma remains silent when the module is run
from a non-core library directory, the pragma call does not need to be patched
into or out of either the core or CPAN version of the module. The exact same
code can be shipped for either purpose.

=head2 Important Caveat

Note that when a module installs from CPAN to a core library directory rather
than the site library directories, the user gains no protection from having
installed it.

At the same time, this pragma cannot detect when such a module has installed
from CPAN to the core library, and so it would endlessly and uselessly exhort
the user to upgrade.

Therefore modules that can install from CPAN to the core library must make sure
not to call this pragma when they have done so. Generally this means that the
exact logic from the installer must be mirrored inside the module. E.g.:

    # Makefile.PL
    WriteMakefile(
        # ...
        INSTALLDIRS => ( "$]" >= 5.011 ? 'site' : 'perl' ),
    );

    # lib/Foo/Bar.pm
    use if "$]" >= 5.011, 'deprecate';

(The above example shows the most important case of this: when the target is
a Perl older than 5.12 (where the core library directories take precedence over
the site library directories) and the module being installed was included in
core in that Perl version. Under those circumstances, an upgrade of the module
from CPAN is only possible by installing to the core library.)


=head1 EXPORT

None by default.  The only method is C<import>, called by C<use deprecate;>.


=head1 SEE ALSO

First example to C<use deprecate;> was L<Switch>.


=head1 AUTHOR

Original version by Nicholas Clark


=head1 COPYRIGHT AND LICENSE

Copyright (C) 2009, 2011

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.10.0 or,
at your option, any later version of Perl 5 you may have available.


=cut

Filemanager

Name Type Size Permission Actions
App Folder 0755
Archive Folder 0755
Attribute Folder 0755
B Folder 0755
CPAN Folder 0755
Carp Folder 0755
Class Folder 0755
Compress Folder 0755
Config Folder 0755
DBM_Filter Folder 0755
Devel Folder 0755
Digest Folder 0755
Encode Folder 0755
Exporter Folder 0755
ExtUtils Folder 0755
File Folder 0755
Filter Folder 0755
Getopt Folder 0755
HTTP Folder 0755
I18N Folder 0755
IO Folder 0755
IPC Folder 0755
JSON Folder 0755
Locale Folder 0755
Math Folder 0755
Memoize Folder 0755
Module Folder 0755
Net Folder 0755
Params Folder 0755
Parse Folder 0755
Perl Folder 0755
PerlIO Folder 0755
Pod Folder 0755
Search Folder 0755
TAP Folder 0755
Term Folder 0755
Test Folder 0755
Test2 Folder 0755
Text Folder 0755
Thread Folder 0755
Tie Folder 0755
Time Folder 0755
Unicode Folder 0755
User Folder 0755
autodie Folder 0755
encoding Folder 0755
overload Folder 0755
pod Folder 0755
unicore Folder 0755
version 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
CPAN.pm File 138.75 KB 0644
Carp.pm File 35.12 KB 0644
DB.pm File 18.48 KB 0644
DBM_Filter.pm File 14.05 KB 0644
Digest.pm File 10.45 KB 0644
DirHandle.pm File 2.04 KB 0644
Dumpvalue.pm File 17.14 KB 0644
English.pm File 4.65 KB 0644
Env.pm File 5.39 KB 0644
Exporter.pm File 18.36 KB 0644
Fatal.pm File 56.91 KB 0644
FileCache.pm File 5.42 KB 0644
FileHandle.pm File 6.63 KB 0644
FindBin.pm File 4.45 KB 0644
Internals.pod File 2.51 KB 0644
Memoize.pm File 35.34 KB 0644
NEXT.pm File 18.54 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.27 KB 0644
Symbol.pm File 4.69 KB 0644
Test.pm File 29.34 KB 0644
Test2.pm File 6.24 KB 0644
Thread.pm File 8.09 KB 0644
UNIVERSAL.pm File 6.44 KB 0644
XSLoader.pm File 10.99 KB 0644
_charnames.pm File 32.39 KB 0644
autodie.pm File 12.58 KB 0644
autouse.pm File 4.14 KB 0644
base.pm File 10.7 KB 0644
bigint.pm File 22.85 KB 0644
bignum.pm File 20.64 KB 0644
bigrat.pm File 15.78 KB 0644
blib.pm File 2.01 KB 0644
bytes.pm File 3.65 KB 0644
bytes_heavy.pl File 758 B 0644
charnames.pm File 20.38 KB 0644
constant.pm File 14.38 KB 0644
deprecate.pm File 5.07 KB 0644
diagnostics.pm File 18.59 KB 0644
dumpvar.pl File 15.19 KB 0644
experimental.pm File 6.9 KB 0644
feature.pm File 17.28 KB 0644
fields.pm File 9.25 KB 0644
filetest.pm File 3.91 KB 0644
if.pm File 3.53 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
ok.pm File 967 B 0644
open.pm File 7.83 KB 0644
overload.pm File 52.04 KB 0644
overloading.pm File 1.77 KB 0644
parent.pm File 2.51 KB 0644
perl5db.pl File 309.69 KB 0644
perlfaq.pm File 77 B 0644
sigtrap.pm File 8.53 KB 0644
sort.pm File 3.82 KB 0644
strict.pm File 4.63 KB 0644
subs.pm File 901 B 0644
utf8.pm File 10.18 KB 0644
utf8_heavy.pl File 26.66 KB 0644
vars.pm File 2.4 KB 0644
version.pm File 1.93 KB 0644
version.pod File 9.6 KB 0644
vmsish.pm File 4.21 KB 0644
warnings.pm File 48.82 KB 0644