blob: f06d6c3dc18ea43d3164628c84403466a54a3865 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
use strict;
use warnings;
package colorcarp;
# FILENAME: colorcarp.pm
# CREATED: 02/08/11 16:11:38 by Kent Fredric (kentnl) <kentfredric@gmail.com>
# ABSTRACT: Easy currier for making coloured carp functions.
sub import {
my $inject = [ caller ]->[0];
my $params = $_[1] ;
for my $method ( keys %{$params} ){
my ( $foreground, $background, $realcall ) = @{ $params->{$method} };
eval "{ package $inject ; sub $method {
my \$value = shift;
color: {
last color if \$ENV{NO_COLOR};
\$value =~ s/^(.*)\$/\e[${foreground};${background}m \$1 \e[0m\n/mg;
}
\@_ = ( \$value );
require Carp;
goto \&Carp::${realcall}
}}"
}
}
1;
|