| line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
|
1
|
|
|
|
|
|
|
package Acme::Insult 1.1 { |
|
2
|
1
|
|
|
1
|
|
220740
|
use v5.38; |
|
|
1
|
|
|
|
|
5
|
|
|
3
|
1
|
|
|
1
|
|
7
|
use parent 'Exporter'; |
|
|
1
|
|
|
|
|
2
|
|
|
|
1
|
|
|
|
|
18
|
|
|
4
|
1
|
|
|
1
|
|
823
|
use Module::Load; |
|
|
1
|
|
|
|
|
1824
|
|
|
|
1
|
|
|
|
|
10
|
|
|
5
|
|
|
|
|
|
|
our %EXPORT_TAGS = ( all => [ our @EXPORT_OK = qw[insult flavors] ] ); |
|
6
|
|
|
|
|
|
|
# |
|
7
|
|
|
|
|
|
|
my %flavor = ( |
|
8
|
|
|
|
|
|
|
map { |
|
9
|
|
|
|
|
|
|
my $pkg = 'Acme::Insult::' . $_; |
|
10
|
|
|
|
|
|
|
( eval 'require ' . $pkg ? ( lc($_) => $pkg ) : () ), |
|
11
|
|
|
|
|
|
|
} qw[Glax Evil Pirate] |
|
12
|
|
|
|
|
|
|
); |
|
13
|
|
|
|
|
|
|
|
|
14
|
4
|
|
|
4
|
1
|
903127
|
sub insult ( $flavor //= ( keys %flavor )[ rand keys %flavor ] ) { |
|
|
4
|
|
|
|
|
14
|
|
|
|
4
|
|
|
|
|
6
|
|
|
15
|
4
|
|
50
|
|
|
19
|
$flavor{$flavor} // return (); |
|
16
|
4
|
|
|
|
|
59
|
my $cv = $flavor{$flavor}->can('insult'); |
|
17
|
4
|
50
|
|
|
|
48
|
$cv ? $cv->() : (); |
|
18
|
|
|
|
|
|
|
} |
|
19
|
1
|
|
|
1
|
1
|
305015
|
sub flavors () { keys %flavor } |
|
|
1
|
|
|
|
|
3
|
|
|
|
1
|
|
|
|
|
10
|
|
|
20
|
|
|
|
|
|
|
} |
|
21
|
|
|
|
|
|
|
1; |
|
22
|
|
|
|
|
|
|
__END__ |