File Coverage

blib/lib/Acme/LSD.pm
Criterion Covered Total %
statement 15 25 60.0
branch n/a
condition n/a
subroutine 6 7 85.7
pod n/a
total 21 32 65.6


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