NAME
Error::Pure::Output::ANSIColor - ANSIColor Output subroutines for Error::Pure.
SYNOPSIS
err_line_all err_print err_print_var)
;
my
$ret
= err_bt_pretty(
@errors
);
my
@ret
= err_bt_pretty(
@errors
);
my
$ret
= err_bt_pretty_rev(
@errors
);
my
@ret
= err_bt_pretty_rev(
@errors
);
my
$ret
= err_die(
@errors
);
my
$ret
= err_line(
@errors
);
my
$ret
= err_line_all(
@errors
);
my
$ret
= err_print(
@errors
);
my
$ret
= err_print_var(
@errors
);
my
@ret
= err_print_var(
@errors
);
SUBROUTINES
err_bt_pretty
my
$ret
= err_bt_pretty(
@errors
);
my
@ret
= err_bt_pretty(
@errors
);
Returns string with full backtrace in scalar context.
Returns array of full backtrace lines in array context.
Both with ANSI sequences for terminals.
Format of error is:
ERROR:
%s
%s
:
%s
...
%s
%s
%s
%s
...
Values of error are:
message
message as key,
$message
as value
...
sub
,
caller
, program, line
...
err_bt_pretty_rev
my
$ret
= err_bt_pretty_rev(
@errors
);
my
@ret
= err_bt_pretty_rev(
@errors
);
Reverse version of print for err_bt_pretty().
Returns string with full backtrace in scalar context.
Returns array of full backtrace lines in array context.
Both with ANSI sequences for terminals.
Format of error is:
ERROR:
%s
%s
:
%s
...
%s
%s
%s
%s
...
Values of error are:
message
message as key,
$message
as value
...
sub
,
caller
, program, line
...
err_die(@errors)
my
$ret
= err_die(
@errors
);
Returns string with error in classic die style with colors with ANSI sequences for terminals.
Format of error line is: "%s at %s line %s".
Values of error line are: $message(s), $program, $line
err_line
my
$ret
= err_line(
@errors
);
Returns string with error on one line with ANSI sequences for terminals.
Use last error in @errors
structure.
Format of error is: "#Error [%s:%s] %s\n"
Values of error are: $program, $line, $message
err_line_all
my
$ret
= err_line_all(
@errors
);
Returns string with errors each on one line with ANSI sequences for terminals.
Use all errors in @errors
structure.
Format of error line is: "#Error [%s:%s] %s\n"
Values of error line are: $program, $line, $message
err_print
my
$ret
= err_print(
@errors
);
Print first error with ANSI sequences for terminals.
If error comes from class, print class name before error.
Returns string with error.
err_print_var
my
$ret
= err_print_var(
@errors
);
my
@ret
= err_print_var(
@errors
);
Print first error with all variables with ANSI sequences for terminals.
Returns error string in scalar mode.
Returns lines of error in array mode.
EXAMPLE1
use
strict;
use
warnings;
# Fictional error structure.
my
$err_hr
= {
'msg'
=> [
'FOO'
,
'KEY'
,
'VALUE'
,
],
'stack'
=> [
{
'args'
=>
'(2)'
,
'class'
=>
'main'
,
'line'
=> 1,
'prog'
=>
'script.pl'
,
'sub'
=>
'err'
,
}, {
'args'
=>
''
,
'class'
=>
'main'
,
'line'
=> 20,
'prog'
=>
'script.pl'
,
'sub'
=>
'eval {...}'
,
}
],
};
# Print out.
scalar
err_bt_pretty(
$err_hr
);
# Output:
# ERROR: FOO
# KEY: VALUE
# main err script.pl 1
# main eval {...} script.pl 20
EXAMPLE2
use
strict;
use
warnings;
# Fictional error structure.
my
@err
= (
{
'msg'
=> [
'FOO'
,
'BAR'
,
],
'stack'
=> [
{
'args'
=>
'(2)'
,
'class'
=>
'main'
,
'line'
=> 1,
'prog'
=>
'script.pl'
,
'sub'
=>
'err'
,
}, {
'args'
=>
''
,
'class'
=>
'main'
,
'line'
=> 20,
'prog'
=>
'script.pl'
,
'sub'
=>
'eval {...}'
,
}
],
}, {
'msg'
=> [
'XXX'
],
'stack'
=> [
{
'args'
=>
''
,
'class'
=>
'main'
,
'line'
=> 2,
'prog'
=>
'script.pl'
,
'sub'
=>
'err'
,
},
],
}
);
# Print out.
err_line_all(
@err
);
# Output:
# #Error [script.pl:1] FOO
# #Error [script.pl:2] XXX
EXAMPLE3
use
strict;
use
warnings;
# Fictional error structure.
my
$err_hr
= {
'msg'
=> [
'FOO'
,
'BAR'
,
],
'stack'
=> [
{
'args'
=>
'(2)'
,
'class'
=>
'main'
,
'line'
=> 1,
'prog'
=>
'script.pl'
,
'sub'
=>
'err'
,
}, {
'args'
=>
''
,
'class'
=>
'main'
,
'line'
=> 20,
'prog'
=>
'script.pl'
,
'sub'
=>
'eval {...}'
,
}
],
};
# Print out.
err_line(
$err_hr
);
# Output:
# #Error [script.pl:1] FOO
EXAMPLE4
use
strict;
use
warnings;
# Fictional error structure.
my
@err
= (
{
'msg'
=> [
'FOO'
,
'BAR'
,
],
'stack'
=> [
{
'args'
=>
'(2)'
,
'class'
=>
'main'
,
'line'
=> 1,
'prog'
=>
'script.pl'
,
'sub'
=>
'err'
,
}, {
'args'
=>
''
,
'class'
=>
'main'
,
'line'
=> 20,
'prog'
=>
'script.pl'
,
'sub'
=>
'eval {...}'
,
}
],
}, {
'msg'
=> [
'XXX'
],
'stack'
=> [
{
'args'
=>
''
,
'class'
=>
'main'
,
'line'
=> 2,
'prog'
=>
'script.pl'
,
'sub'
=>
'err'
,
},
],
}
);
# Print out.
scalar
err_bt_pretty(
@err
);
# Output:
# ERROR: FOO
# BAR
# main err script.pl 1
# main eval {...} script.pl 20
# ERROR: XXX
# main err script.pl 2
EXAMPLE5
use
strict;
use
warnings;
# Fictional error structure.
my
@err
= (
{
'msg'
=> [
'FOO'
,
'BAR'
,
],
'stack'
=> [
{
'args'
=>
'(2)'
,
'class'
=>
'main'
,
'line'
=> 1,
'prog'
=>
'script.pl'
,
'sub'
=>
'err'
,
}, {
'args'
=>
''
,
'class'
=>
'main'
,
'line'
=> 20,
'prog'
=>
'script.pl'
,
'sub'
=>
'eval {...}'
,
}
],
}, {
'msg'
=> [
'XXX'
],
'stack'
=> [
{
'args'
=>
''
,
'class'
=>
'main'
,
'line'
=> 2,
'prog'
=>
'script.pl'
,
'sub'
=>
'err'
,
},
],
}
);
# Print out.
scalar
err_bt_pretty_rev(
@err
);
# Output:
# ERROR: XXX
# main err script.pl 2
# ERROR: FOO
# BAR
# main err script.pl 1
# main eval {...} script.pl 20
EXAMPLE6
use
strict;
use
warnings;
# Fictional error structure.
my
$err_hr
= {
'msg'
=> [
'FOO'
,
'BAR'
,
],
'stack'
=> [
{
'args'
=>
'(2)'
,
'class'
=>
'main'
,
'line'
=> 1,
'prog'
=>
'script.pl'
,
'sub'
=>
'err'
,
}, {
'args'
=>
''
,
'class'
=>
'main'
,
'line'
=> 20,
'prog'
=>
'script.pl'
,
'sub'
=>
'eval {...}'
,
}
],
};
# Print out.
err_print(
$err_hr
).
"\n"
;
# Output:
# FOO
EXAMPLE7
use
strict;
use
warnings;
# Fictional error structure.
my
$err_hr
= {
'msg'
=> [
'FOO'
,
'BAR'
,
],
'stack'
=> [
{
'args'
=>
'(2)'
,
'class'
=>
'Class'
,
'line'
=> 1,
'prog'
=>
'script.pl'
,
'sub'
=>
'err'
,
}, {
'args'
=>
''
,
'class'
=>
'mains'
,
'line'
=> 20,
'prog'
=>
'script.pl'
,
'sub'
=>
'eval {...}'
,
}
],
};
# Print out.
err_print(
$err_hr
).
"\n"
;
# Output:
# Class: FOO
EXAMPLE8
use
strict;
use
warnings;
# Fictional error structure.
my
$err_hr
= {
'msg'
=> [
'FOO'
,
'KEY1'
,
'VALUE1'
,
'KEY2'
,
'VALUE2'
,
],
'stack'
=> [
{
'args'
=>
'(2)'
,
'class'
=>
'main'
,
'line'
=> 1,
'prog'
=>
'script.pl'
,
'sub'
=>
'err'
,
}, {
'args'
=>
''
,
'class'
=>
'main'
,
'line'
=> 20,
'prog'
=>
'script.pl'
,
'sub'
=>
'eval {...}'
,
}
],
};
# Print out.
scalar
err_print_var(
$err_hr
);
# Output:
# ERROR: FOO
# KEY1: VALUE1
# KEY2: VALUE2
EXAMPLE9
use
strict;
use
warnings;
# Fictional error structure.
my
$err_hr
= {
'msg'
=> [
'FOO'
,
'KEY1'
,
'VALUE1'
,
'KEY2'
,
'VALUE2'
,
],
'stack'
=> [
{
'args'
=>
'(2)'
,
'class'
=>
'main'
,
'line'
=> 1,
'prog'
=>
'script.pl'
,
'sub'
=>
'err'
,
}, {
'args'
=>
''
,
'class'
=>
'main'
,
'line'
=> 20,
'prog'
=>
'script.pl'
,
'sub'
=>
'eval {...}'
,
}
],
};
# Print out.
err_die(
$err_hr
);
# Output:
# FOOKEY1VALUE1KEY2VALUE2 at script.pl line 1.
DEPENDENCIES
Exporter, Readonly, Term::ANSIColor.
SEE ALSO
- Task::Error::Pure
-
Install the Error::Pure modules.
REPOSITORY
https://github.com/michal-josef-spacek/Error-Pure-Output-ANSIColor
AUTHOR
Michal Josef Špaček mailto:skim@cpan.org
LICENSE AND COPYRIGHT
© 2013-2024 Michal Josef Špaček
BSD 2-Clause License
VERSION
0.05