7
use Benchmark qw(cmpthese);
9
require Exporter::Easy;
19
old_simple => <<'EOM',
20
our(@EXPORT) = qw(getservbyname getservbyport getservent getserv);
21
our @ISA = ('Exporter');
23
new_simple => <<'EOM',
25
EXPORT => [qw(getservbyname getservbyport getservent getserv)],
31
old_our_vars => <<'EOM',
32
our(@EXPORT, @EXPORT_OK, %EXPORT_TAGS, @ISA);
34
@EXPORT = qw(getservbyname getservbyport getservent getserv);
35
@EXPORT_OK = qw( $s_name @s_aliases $s_port $s_proto );
36
%EXPORT_TAGS = (FIELDS => [ @EXPORT_OK, @EXPORT ] );
37
our ($s_name, @s_aliases, $s_port, $sx_proto);
39
old_use_vars => <<'EOM',
40
our(@EXPORT, @EXPORT_OK, %EXPORT_TAGS, @ISA);
42
@EXPORT = qw(getservbyname getservbyport getservent getserv);
43
@EXPORT_OK = qw( $s_name @s_aliases $s_port $s_proto );
44
%EXPORT_TAGS = (FIELDS => [ @EXPORT_OK, @EXPORT ] );
48
old_grep_vars => <<'EOM',
49
our(@EXPORT, @EXPORT_OK, %EXPORT_TAGS, @ISA);
51
@EXPORT = qw(getservbyname getservbyport getservent getserv);
52
@EXPORT_OK = qw( $s_name @s_aliases $s_port $s_proto );
53
%EXPORT_TAGS = (FIELDS => [ @EXPORT_OK, @EXPORT ] );
54
use vars grep /^\$/, @EXPORT_OK;
58
EXPORT => [qw(getservbyname getservbyport getservent getserv)],
59
OK => [qw( $s_name @s_aliases $s_port $s_proto )],
66
old_no_vars => <<'EOM',
67
our(@EXPORT, @EXPORT_OK, %EXPORT_TAGS, @ISA);
69
@EXPORT = qw(getservbyname getservbyport getservent getserv);
70
@EXPORT_OK = qw( $s_name @s_aliases $s_port $s_proto );
71
%EXPORT_TAGS = (FIELDS => [ @EXPORT_OK, @EXPORT ] );
74
new_no_vars => <<'EOM',
76
EXPORT => [qw(getservbyname getservbyport getservent getserv)],
77
OK => [qw( $s_name @s_aliases $s_port $s_proto )],
96
foreach my $want_files (
102
while (my ($name, $code) = (each %$bm))
104
$comp{"$name$want_files"} = make_bm("$name$want_files", $code, $want_files);
107
push(@comps, \%comp);
113
foreach my $bm (@comps)
115
cmpthese($time, $bm);
120
my ($name, $code, $want_files) = @_;
126
@files = ('lib/Exporter.pm');
129
push(@files, 'lib/Exporter/Easy.pm');
136
my @file_code = map { "do '$_';" } @files;
138
my $all_code = join("\n", @file_code, $code);
141
die "$all_code\n$@" if $@;
143
# print "------------------$name----------------\n$all_code\n\n";