|
|
ebcd0b |
From 2c6f580d94d78b0a8e120ba86858ffcb003b08eb Mon Sep 17 00:00:00 2001
|
|
|
ebcd0b |
From: Jitka Plesnikova <jplesnik@redhat.com>
|
|
|
ebcd0b |
Date: Thu, 24 May 2018 09:38:04 +0200
|
|
|
ebcd0b |
Subject: [PATCH] Upgrade to 5.73
|
|
|
ebcd0b |
|
|
|
ebcd0b |
---
|
|
|
ebcd0b |
lib/Exporter.pm | 32 ++++++++++++++++----------------
|
|
|
ebcd0b |
1 file changed, 16 insertions(+), 16 deletions(-)
|
|
|
ebcd0b |
|
|
|
ebcd0b |
diff --git a/lib/Exporter.pm b/lib/Exporter.pm
|
|
|
ebcd0b |
index 0b3db21..0e8775d 100644
|
|
|
ebcd0b |
--- a/lib/Exporter.pm
|
|
|
ebcd0b |
+++ b/lib/Exporter.pm
|
|
|
ebcd0b |
@@ -9,7 +9,7 @@ require 5.006;
|
|
|
ebcd0b |
our $Debug = 0;
|
|
|
ebcd0b |
our $ExportLevel = 0;
|
|
|
ebcd0b |
our $Verbose ||= 0;
|
|
|
ebcd0b |
-our $VERSION = '5.72';
|
|
|
ebcd0b |
+our $VERSION = '5.73';
|
|
|
ebcd0b |
our (%Cache);
|
|
|
ebcd0b |
|
|
|
ebcd0b |
sub as_heavy {
|
|
|
ebcd0b |
@@ -106,14 +106,14 @@ In module F<YourModule.pm>:
|
|
|
ebcd0b |
|
|
|
ebcd0b |
package YourModule;
|
|
|
ebcd0b |
require Exporter;
|
|
|
ebcd0b |
- @ISA = qw(Exporter);
|
|
|
ebcd0b |
- @EXPORT_OK = qw(munge frobnicate); # symbols to export on request
|
|
|
ebcd0b |
+ our @ISA = qw(Exporter);
|
|
|
ebcd0b |
+ our @EXPORT_OK = qw(munge frobnicate); # symbols to export on request
|
|
|
ebcd0b |
|
|
|
ebcd0b |
or
|
|
|
ebcd0b |
|
|
|
ebcd0b |
package YourModule;
|
|
|
ebcd0b |
use Exporter 'import'; # gives you Exporter's import() method directly
|
|
|
ebcd0b |
- @EXPORT_OK = qw(munge frobnicate); # symbols to export on request
|
|
|
ebcd0b |
+ our @EXPORT_OK = qw(munge frobnicate); # symbols to export on request
|
|
|
ebcd0b |
|
|
|
ebcd0b |
In other files which wish to use C<YourModule>:
|
|
|
ebcd0b |
|
|
|
ebcd0b |
@@ -146,8 +146,8 @@ symbols can represent functions, scalars, arrays, hashes, or typeglobs.
|
|
|
ebcd0b |
The symbols must be given by full name with the exception that the
|
|
|
ebcd0b |
ampersand in front of a function is optional, e.g.
|
|
|
ebcd0b |
|
|
|
ebcd0b |
- @EXPORT = qw(afunc $scalar @array); # afunc is a function
|
|
|
ebcd0b |
- @EXPORT_OK = qw(&bfunc %hash *typeglob); # explicit prefix on &bfunc
|
|
|
ebcd0b |
+ our @EXPORT = qw(afunc $scalar @array); # afunc is a function
|
|
|
ebcd0b |
+ our @EXPORT_OK = qw(&bfunc %hash *typeglob); # explicit prefix on &bfunc
|
|
|
ebcd0b |
|
|
|
ebcd0b |
If you are only exporting function names it is recommended to omit the
|
|
|
ebcd0b |
ampersand, as the implementation is faster this way.
|
|
|
ebcd0b |
@@ -234,9 +234,9 @@ include :DEFAULT explicitly.
|
|
|
ebcd0b |
|
|
|
ebcd0b |
e.g., F<Module.pm> defines:
|
|
|
ebcd0b |
|
|
|
ebcd0b |
- @EXPORT = qw(A1 A2 A3 A4 A5);
|
|
|
ebcd0b |
- @EXPORT_OK = qw(B1 B2 B3 B4 B5);
|
|
|
ebcd0b |
- %EXPORT_TAGS = (T1 => [qw(A1 A2 B1 B2)], T2 => [qw(A1 A2 B3 B4)]);
|
|
|
ebcd0b |
+ our @EXPORT = qw(A1 A2 A3 A4 A5);
|
|
|
ebcd0b |
+ our @EXPORT_OK = qw(B1 B2 B3 B4 B5);
|
|
|
ebcd0b |
+ our %EXPORT_TAGS = (T1 => [qw(A1 A2 B1 B2)], T2 => [qw(A1 A2 B3 B4)]);
|
|
|
ebcd0b |
|
|
|
ebcd0b |
Note that you cannot use tags in @EXPORT or @EXPORT_OK.
|
|
|
ebcd0b |
|
|
|
ebcd0b |
@@ -279,8 +279,8 @@ import function:
|
|
|
ebcd0b |
|
|
|
ebcd0b |
package A;
|
|
|
ebcd0b |
|
|
|
ebcd0b |
- @ISA = qw(Exporter);
|
|
|
ebcd0b |
- @EXPORT_OK = qw($b);
|
|
|
ebcd0b |
+ our @ISA = qw(Exporter);
|
|
|
ebcd0b |
+ our @EXPORT_OK = qw($b);
|
|
|
ebcd0b |
|
|
|
ebcd0b |
sub import
|
|
|
ebcd0b |
{
|
|
|
ebcd0b |
@@ -293,8 +293,8 @@ inheritance, as it stands Exporter::import() will never get called.
|
|
|
ebcd0b |
Instead, say the following:
|
|
|
ebcd0b |
|
|
|
ebcd0b |
package A;
|
|
|
ebcd0b |
- @ISA = qw(Exporter);
|
|
|
ebcd0b |
- @EXPORT_OK = qw($b);
|
|
|
ebcd0b |
+ our @ISA = qw(Exporter);
|
|
|
ebcd0b |
+ our @EXPORT_OK = qw($b);
|
|
|
ebcd0b |
|
|
|
ebcd0b |
sub import
|
|
|
ebcd0b |
{
|
|
|
ebcd0b |
@@ -374,7 +374,7 @@ Since the symbols listed within C<%EXPORT_TAGS> must also appear in either
|
|
|
ebcd0b |
C<@EXPORT> or C<@EXPORT_OK>, two utility functions are provided which allow
|
|
|
ebcd0b |
you to easily add tagged sets of symbols to C<@EXPORT> or C<@EXPORT_OK>:
|
|
|
ebcd0b |
|
|
|
ebcd0b |
- %EXPORT_TAGS = (foo => [qw(aa bb cc)], bar => [qw(aa cc dd)]);
|
|
|
ebcd0b |
+ our %EXPORT_TAGS = (foo => [qw(aa bb cc)], bar => [qw(aa cc dd)]);
|
|
|
ebcd0b |
|
|
|
ebcd0b |
Exporter::export_tags('foo'); # add aa, bb and cc to @EXPORT
|
|
|
ebcd0b |
Exporter::export_ok_tags('bar'); # add aa, cc and dd to @EXPORT_OK
|
|
|
ebcd0b |
@@ -391,7 +391,7 @@ useful to create the utility ":all" to simplify "use" statements.
|
|
|
ebcd0b |
|
|
|
ebcd0b |
The simplest way to do this is:
|
|
|
ebcd0b |
|
|
|
ebcd0b |
- %EXPORT_TAGS = (foo => [qw(aa bb cc)], bar => [qw(aa cc dd)]);
|
|
|
ebcd0b |
+ our %EXPORT_TAGS = (foo => [qw(aa bb cc)], bar => [qw(aa cc dd)]);
|
|
|
ebcd0b |
|
|
|
ebcd0b |
# add all the other ":class" tags to the ":all" class,
|
|
|
ebcd0b |
# deleting duplicates
|
|
|
ebcd0b |
@@ -460,7 +460,7 @@ variables C<@EXPORT_OK>, C<@EXPORT>, C<@ISA>, etc.
|
|
|
ebcd0b |
our @ISA = qw(Exporter);
|
|
|
ebcd0b |
our @EXPORT_OK = qw(munge frobnicate);
|
|
|
ebcd0b |
|
|
|
ebcd0b |
-If backward compatibility for Perls under 5.6 is important,
|
|
|
ebcd0b |
+If backward compatibility for Perls B<under> 5.6 is important,
|
|
|
ebcd0b |
one must write instead a C<use vars> statement.
|
|
|
ebcd0b |
|
|
|
ebcd0b |
use vars qw(@ISA @EXPORT_OK);
|
|
|
ebcd0b |
--
|
|
|
ebcd0b |
2.14.3
|
|
|
ebcd0b |
|