File Coverage

blib/lib/Acme/KemonoFriends/Color.pm
Criterion Covered Total %
statement 23 26 88.4
branch n/a
condition n/a
subroutine 8 9 88.8
pod 0 1 0.0
total 31 36 86.1


line stmt bran cond sub pod time code
1             package Acme::KemonoFriends::Color;
2 2     2   65201 use 5.008001;
  2         16  
3 2     2   10 use strict;
  2         4  
  2         38  
4 2     2   10 use warnings;
  2         4  
  2         45  
5 2     2   1118 use utf8;
  2         29  
  2         10  
6 2     2   1112 use Encode qw( encode );
  2         19620  
  2         138  
7 2     2   16 use Exporter 'import';
  2         4  
  2         452  
8             our @EXPORT = qw( printk );
9             our $VERSION = "0.01";
10              
11             my @KemonoFriends_color = qw(
12             35 112 208 202
13             36 198 39 32
14             248 253 196 190
15             126 207
16             );
17              
18             sub printk {
19 0     0 0 0 my $message = shift;
20 0         0 my @strings = split('',$message);
21 0         0 print encode('utf-8', _escaped_message($_)) for @strings;
22             }
23              
24             sub _get_color_code {
25 2     2   133 my $code = $KemonoFriends_color[int( rand($#KemonoFriends_color) )];
26              
27 2         11 return '1;38;5;'.$code;
28             }
29              
30             sub _escaped_message {
31 1     1   513 my $message = shift;
32              
33 1         3 my $begin = "\e[" . _get_color_code() . "m";
34 1         3 my $end = "\e[m";
35 1         5 return $begin . $message . $end;
36             }
37              
38             1;
39             __END__