File Coverage

blib/lib/Acme/LSD.pm
Criterion Covered Total %
statement 15 26 57.6
branch n/a
condition n/a
subroutine 6 7 85.7
pod n/a
total 21 33 63.6


line stmt bran cond sub pod time code
1             package Acme::LSD;
2 1     1   588 use 5.008001;
  1         3  
3 1     1   4 use strict;
  1         2  
  1         15  
4 1     1   3 use warnings;
  1         1  
  1         31  
5              
6             our $VERSION = "0.03";
7              
8 1     1   4 use base qw;
  1         1  
  1         421  
9 1     1   1924 use Symbol qw;
  1         645  
  1         239  
10             my $TRUE_STDOUT;
11              
12 1     1   3 sub TIEHANDLE { return bless geniosym, __PACKAGE__ }
13              
14             sub PRINT {
15 0     0     shift;
16 0           undef $\;
17              
18 0           foreach my $str (@_) {
19 0           my $copy = $str;
20 0           $copy =~ s/[^\w']/ /g; # convert all non-words into spaces
21 0           $copy =~ s/ +/ /g; # convert all multiple spaces into single space
22 0           $copy =~ tr/A-Z/a-z/; # convert all words to lowercase
23 0           foreach my $char (split(//, $copy)) {
24 0           my $r = int(rand(6)) + 31;
25 0           my $s = int(rand(8));
26 0           print $TRUE_STDOUT "\033[" . "$s;$r" . "m$char\033[0m";
27             }
28             }
29             }
30              
31             open($TRUE_STDOUT, '>', '/dev/stdout');
32             tie *STDOUT, __PACKAGE__, (*STDOUT);
33              
34             1;
35             __END__