blob: e344b43bb20236ea487a5f1c3033c3d486376f21 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
package TestModule;
use strict;
use warnings;
require Exporter;
use vars qw(@EXPORT @EXPORT_OK @ISA $IMPORTED);
@ISA = qw(Exporter);
@EXPORT = qw(func2);
@EXPORT_OK = qw(func1);
### test if import gets called properly
sub import { $IMPORTED = 1;
### this breaks on 5.8.[45] which have a bug with goto's losing
### arguments in @_. This is the cause of the 0.14 tester failures
### under 5.8.[45]. The bug is NOT in exporter, but core perl:
### http://testers.cpan.org/show/Module-Load.html
#goto &Exporter::import;
### instead, use the undocumented, but widely used $ExportLevel
### which will make sure we pass all arguments, and even works
### on buggy 5.8.[45]
do { local $Exporter::ExportLevel += 1; Exporter::import(@_) }
}
sub imported { $IMPORTED; }
sub func1 { return "func1"; }
sub func2 { return "func2"; }
1;
|