diff options
author | James E Keenan <jkeenan@cpan.org> | 2018-03-29 09:36:57 -0400 |
---|---|---|
committer | James E Keenan <jkeenan@cpan.org> | 2018-03-29 18:31:19 -0400 |
commit | ee483bcc6527f06545fd67f1a3ca6dc07e36882d (patch) | |
tree | 76a3b67264697f18a6e7aae75aae7014cea8f8ab /dist/Exporter | |
parent | 8d1c5bf7d17d83e59be2dd13a370326d04f24f90 (diff) | |
download | perl-ee483bcc6527f06545fd67f1a3ca6dc07e36882d.tar.gz |
Use lexically scoped ('our') variables in POD examples.
Per Dan Book recommendation, as this is code likely to be copied-and-pasted by
people new to Perl.
Keep podcheck happy.
For: RT # 133040
Diffstat (limited to 'dist/Exporter')
-rw-r--r-- | dist/Exporter/lib/Exporter.pm | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/dist/Exporter/lib/Exporter.pm b/dist/Exporter/lib/Exporter.pm index 0b3db2159f..f9ccd26653 100644 --- a/dist/Exporter/lib/Exporter.pm +++ b/dist/Exporter/lib/Exporter.pm @@ -9,7 +9,7 @@ require 5.006; our $Debug = 0; our $ExportLevel = 0; our $Verbose ||= 0; -our $VERSION = '5.72'; +our $VERSION = '5.73'; our (%Cache); sub as_heavy { @@ -106,14 +106,14 @@ In module F<YourModule.pm>: package YourModule; require Exporter; - @ISA = qw(Exporter); - @EXPORT_OK = qw(munge frobnicate); # symbols to export on request + our @ISA = qw(Exporter); + our @EXPORT_OK = qw(munge frobnicate); # symbols to export on request or package YourModule; use Exporter 'import'; # gives you Exporter's import() method directly - @EXPORT_OK = qw(munge frobnicate); # symbols to export on request + our @EXPORT_OK = qw(munge frobnicate); # symbols to export on request In other files which wish to use C<YourModule>: @@ -146,8 +146,8 @@ symbols can represent functions, scalars, arrays, hashes, or typeglobs. The symbols must be given by full name with the exception that the ampersand in front of a function is optional, e.g. - @EXPORT = qw(afunc $scalar @array); # afunc is a function - @EXPORT_OK = qw(&bfunc %hash *typeglob); # explicit prefix on &bfunc + our @EXPORT = qw(afunc $scalar @array); # afunc is a function + our @EXPORT_OK = qw(&bfunc %hash *typeglob); # explicit prefix on &bfunc If you are only exporting function names it is recommended to omit the ampersand, as the implementation is faster this way. @@ -234,9 +234,9 @@ include :DEFAULT explicitly. e.g., F<Module.pm> defines: - @EXPORT = qw(A1 A2 A3 A4 A5); - @EXPORT_OK = qw(B1 B2 B3 B4 B5); - %EXPORT_TAGS = (T1 => [qw(A1 A2 B1 B2)], T2 => [qw(A1 A2 B3 B4)]); + our @EXPORT = qw(A1 A2 A3 A4 A5); + our @EXPORT_OK = qw(B1 B2 B3 B4 B5); + our %EXPORT_TAGS = (T1 => [qw(A1 A2 B1 B2)], T2 => [qw(A1 A2 B3 B4)]); Note that you cannot use tags in @EXPORT or @EXPORT_OK. @@ -279,8 +279,8 @@ import function: package A; - @ISA = qw(Exporter); - @EXPORT_OK = qw($b); + our @ISA = qw(Exporter); + our @EXPORT_OK = qw($b); sub import { @@ -293,8 +293,8 @@ inheritance, as it stands Exporter::import() will never get called. Instead, say the following: package A; - @ISA = qw(Exporter); - @EXPORT_OK = qw($b); + our @ISA = qw(Exporter); + our @EXPORT_OK = qw($b); sub import { @@ -354,7 +354,7 @@ will give the module an opportunity to handle the situation before generating an error. The Exporter will call an export_fail method with a list of the failed symbols: - @failed_symbols = $module_name->export_fail(@failed_symbols); + our @failed_symbols = $module_name->export_fail(@failed_symbols); If the C<export_fail> method returns an empty list then no error is recorded and all the requested symbols are exported. If the returned @@ -374,7 +374,7 @@ Since the symbols listed within C<%EXPORT_TAGS> must also appear in either C<@EXPORT> or C<@EXPORT_OK>, two utility functions are provided which allow you to easily add tagged sets of symbols to C<@EXPORT> or C<@EXPORT_OK>: - %EXPORT_TAGS = (foo => [qw(aa bb cc)], bar => [qw(aa cc dd)]); + our %EXPORT_TAGS = (foo => [qw(aa bb cc)], bar => [qw(aa cc dd)]); Exporter::export_tags('foo'); # add aa, bb and cc to @EXPORT Exporter::export_ok_tags('bar'); # add aa, cc and dd to @EXPORT_OK @@ -391,7 +391,7 @@ useful to create the utility ":all" to simplify "use" statements. The simplest way to do this is: - %EXPORT_TAGS = (foo => [qw(aa bb cc)], bar => [qw(aa cc dd)]); + our %EXPORT_TAGS = (foo => [qw(aa bb cc)], bar => [qw(aa cc dd)]); # add all the other ":class" tags to the ":all" class, # deleting duplicates @@ -460,7 +460,7 @@ variables C<@EXPORT_OK>, C<@EXPORT>, C<@ISA>, etc. our @ISA = qw(Exporter); our @EXPORT_OK = qw(munge frobnicate); -If backward compatibility for Perls under 5.6 is important, +If backward compatibility for Perls B<under> 5.6 is important, one must write instead a C<use vars> statement. use vars qw(@ISA @EXPORT_OK); |