Error::Pure::Output::Text - Output subroutines for Error::Pure.
use Error::Pure::Output::Text qw(err_bt_pretty err_bt_pretty_rev 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_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
my $ret = err_bt_pretty(@errors); my @ret = err_bt_pretty(@errors);
Get string or array with full backtrace. 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
Returns string with full backtrace in scalar context. Returns array of full backtrace lines in array context.
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(). Format of error is:
err_bt_pretty()
err_line
my $ret = err_line(@errors);
Get string with error on one line. Use last error in @errors structure.. Format of error is: "#Error [%s:%s] %s\n" Values of error are: $program, $line, $message
"#Error [%s:%s] %s\n"
$program, $line, $message
Returns string.
err_line_all
my $ret = err_line_all(@errors);
Get string with errors each on one line. Use all errors in @errors structure. Format of error line is: "#Error [%s:%s] %s\n" Values of error line are: $program, $line, $message
@errors
err_print
my $ret = err_print(@errors);
Print first error. If error comes from class, print class name before error.
Returns string with error.
err_print_var
Print first error with all variables.
Returns error string in scalar mode. Returns lines of error in array mode.
use strict; use warnings; use Error::Pure::Output::Text 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::Text 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::Text 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::Text 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::Text 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::Text 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::Text 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::Text 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
Exporter, Readonly.
Install the Error::Pure modules.
https://github.com/michal-josef-spacek/Error-Pure-Output-Text
Michal Josef Špaček mailto:skim@cpan.org
http://skim.cz
© 2008-2023 Michal Josef Špaček
BSD 2-Clause License
0.24
To install Error::Pure::Output::Text, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Error::Pure::Output::Text
CPAN shell
perl -MCPAN -e shell install Error::Pure::Output::Text
For more information on module installation, please visit the detailed CPAN module installation guide.