Error::Pure::Output::ANSIColor - ANSIColor Output subroutines for Error::Pure.
use Error::Pure::Output::ANSIColor qw(err_bt_pretty err_bt_pretty_rev err_die err_line 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);
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(@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)
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(@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(@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(@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(@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.
use strict; use warnings; use Error::Pure::Output::ANSIColor qw(err_bt_pretty); # 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. print scalar err_bt_pretty($err_hr); # Output: # ERROR: FOO # KEY: VALUE # main err script.pl 1 # main eval {...} script.pl 20
use strict; use warnings; use Error::Pure::Output::ANSIColor qw(err_line_all); # 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. print err_line_all(@err); # Output: # #Error [script.pl:1] FOO # #Error [script.pl:2] XXX
use strict; use warnings; use Error::Pure::Output::ANSIColor qw(err_line); # 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. print err_line($err_hr); # Output: # #Error [script.pl:1] FOO
use strict; use warnings; use Error::Pure::Output::ANSIColor qw(err_bt_pretty); # 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. print 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
use strict; use warnings; use Error::Pure::Output::ANSIColor qw(err_bt_pretty_rev); # 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. print 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
use strict; use warnings; use Error::Pure::Output::ANSIColor qw(err_print); # 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. print err_print($err_hr)."\n"; # Output: # FOO
use strict; use warnings; use Error::Pure::Output::ANSIColor qw(err_print); # 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. print err_print($err_hr)."\n"; # Output: # Class: FOO
use strict; use warnings; use Error::Pure::Output::ANSIColor qw(err_print_var); # 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. print scalar err_print_var($err_hr); # Output: # ERROR: FOO # KEY1: VALUE1 # KEY2: VALUE2
use strict; use warnings; use Error::Pure::Output::ANSIColor qw(err_die); # 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. print err_die($err_hr); # Output: # FOOKEY1VALUE1KEY2VALUE2 at script.pl line 1.
Exporter, Readonly, Term::ANSIColor.
Install the Error::Pure modules.
https://github.com/michal-josef-spacek/Error-Pure-Output-ANSIColor
Michal Josef Špaček mailto:skim@cpan.org
http://skim.cz
© 2013-2022 Michal Josef Špaček
BSD 2-Clause License
0.04
To install Error::Pure::Output::ANSIColor, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Error::Pure::Output::ANSIColor
CPAN shell
perl -MCPAN -e shell install Error::Pure::Output::ANSIColor
For more information on module installation, please visit the detailed CPAN module installation guide.