| line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
|
1
|
|
|
|
|
|
|
package Acme::Free::Advice 1.1 { |
|
2
|
1
|
|
|
1
|
|
311517
|
use v5.38; |
|
|
1
|
|
|
|
|
3
|
|
|
3
|
1
|
|
|
1
|
|
3
|
use parent 'Exporter'; |
|
|
1
|
|
|
|
|
2
|
|
|
|
1
|
|
|
|
|
13
|
|
|
4
|
1
|
|
|
1
|
|
554
|
use Module::Load; |
|
|
1
|
|
|
|
|
1789
|
|
|
|
1
|
|
|
|
|
7
|
|
|
5
|
|
|
|
|
|
|
our %EXPORT_TAGS = ( all => [ our @EXPORT_OK = qw[advice flavors] ] ); |
|
6
|
|
|
|
|
|
|
# |
|
7
|
|
|
|
|
|
|
my %flavor = ( |
|
8
|
|
|
|
|
|
|
map { |
|
9
|
|
|
|
|
|
|
my $pkg = 'Acme::Free::Advice::' . $_; |
|
10
|
|
|
|
|
|
|
( eval 'require ' . $pkg ? ( lc($_) => $pkg ) : () ), |
|
11
|
|
|
|
|
|
|
} qw[Slip Unsolicited] |
|
12
|
|
|
|
|
|
|
); |
|
13
|
|
|
|
|
|
|
|
|
14
|
3
|
|
|
3
|
1
|
284883
|
sub advice ( $flavor //= ( keys %flavor )[ rand keys %flavor ] ) { |
|
|
3
|
|
|
|
|
10
|
|
|
|
3
|
|
|
|
|
4
|
|
|
15
|
3
|
|
50
|
|
|
13
|
$flavor{$flavor} // return (); |
|
16
|
3
|
|
|
|
|
41
|
my $cv = $flavor{$flavor}->can('advice'); |
|
17
|
3
|
50
|
|
|
|
19
|
$cv ? $cv->() : (); |
|
18
|
|
|
|
|
|
|
} |
|
19
|
1
|
|
|
1
|
1
|
210665
|
sub flavors () { keys %flavor } |
|
|
1
|
|
|
|
|
2
|
|
|
|
1
|
|
|
|
|
11
|
|
|
20
|
|
|
|
|
|
|
} |
|
21
|
|
|
|
|
|
|
1; |
|
22
|
|
|
|
|
|
|
__END__ |