Change 15220 by jhi@alpha on 2002/03/14 13:48:46
Subject: [PATCH] Exporter.pm POD fixups
From: Rafael Garcia-Suarez <[EMAIL PROTECTED]>
Date: Wed, 13 Mar 2002 16:21:42 +0100
Message-ID: <20020313162142.A1144@rafael>
Affected files ...
.... //depot/perl/lib/Exporter.pm#27 edit
Differences ...
==== //depot/perl/lib/Exporter.pm#27 (text) ====
Index: perl/lib/Exporter.pm
--- perl/lib/Exporter.pm.~1~ Thu Mar 14 07:00:05 2002
+++ perl/lib/Exporter.pm Thu Mar 14 07:00:05 2002
@@ -247,7 +247,7 @@
where you can't directly call Exporter's import method. The export_to_level
method looks like:
-MyPackage->export_to_level($where_to_export, $package, @what_to_export);
+ MyPackage->export_to_level($where_to_export, $package, @what_to_export);
where $where_to_export is an integer telling how far up the calling stack
to export your symbols, and @what_to_export is an array telling what
@@ -257,30 +257,30 @@
For example, suppose that you have a module, A, which already has an
import function:
-package A;
+ package A;
-@ISA = qw(Exporter);
-@EXPORT_OK = qw ($b);
+ @ISA = qw(Exporter);
+ @EXPORT_OK = qw ($b);
-sub import
-{
- $A::b = 1; # not a very useful import method
-}
+ sub import
+ {
+ $A::b = 1; # not a very useful import method
+ }
and you want to Export symbol $A::b back to the module that called
package A. Since Exporter relies on the import method to work, via
inheritance, as it stands Exporter::import() will never get called.
Instead, say the following:
-package A;
-@ISA = qw(Exporter);
-@EXPORT_OK = qw ($b);
+ package A;
+ @ISA = qw(Exporter);
+ @EXPORT_OK = qw ($b);
-sub import
-{
- $A::b = 1;
- A->export_to_level(1, @_);
-}
+ sub import
+ {
+ $A::b = 1;
+ A->export_to_level(1, @_);
+ }
This will export the symbols one level 'above' the current package - ie: to
the program or module that used package A.
End of Patch.