File Coverage

chicken-ipsum.in
Criterion Covered Total %
statement 24 26 92.3
branch 5 6 83.3
condition 6 6 100.0
subroutine 7 7 100.0
pod n/a
total 42 45 93.3


line stmt bran cond sub pod time code
1             #!perl
2 5     5   35443 use 5.012;
  5         21  
3 5     5   34 use warnings;
  5         9  
  5         403  
4              
5             # :squash-remove-start:
6 5     5   3000 use FindBin;
  5         11279  
  5         396  
7 5     5   4072 use lib "$FindBin::Bin/lib";
  5         5180  
  5         39  
8             # :squash-remove-end:
9              
10 5         1074014 require Chicken::Ipsum;
11              
12 5 100 100     59 if (($ARGV[0] // '') eq '--help') {
13 1         5 print HELP_MESSAGE();
14 1         0 exit 0;
15             }
16              
17 4 100 100     25 if (($ARGV[0] // '') eq '--version') {
18 1         5 print VERSION_MESSAGE();
19 1         0 exit 0;
20             }
21              
22 3 50       16 if (@ARGV > 1) {
23 0         0 print STDERR USAGE();
24 0         0 exit 2;
25             }
26              
27 3   100     18 my $num_paragraphs = int (shift // 1);
28 3         26 say scalar Chicken::Ipsum->new->paragraphs($num_paragraphs);
29              
30             sub USAGE {
31             return <<'EOUSAGE'
32             Usage: chicken-ipsum [NUM]
33             EOUSAGE
34 1     1   8 }
35              
36             sub HELP_MESSAGE {
37 1     1   4 return USAGE() . <<'EOHELP';
38             Generate NUM paragraphs of random chicken noises (1 paragraph by default)
39              
40             Options:
41             --help Show this message
42             --version Show version
43             EOHELP
44             }
45              
46             sub VERSION_MESSAGE {
47 1     1   12 return <<"EOVERSION";
48             chicken-ipsum (Chicken::Ipsum) $Chicken::Ipsum::VERSION
49             EOVERSION
50             }