NAME
Text::Xslate::Manual::Debugging - Debugging techniques for Xslate templates
DESCRIPTION
This document describes techniques for debugging templates.
File names and line numbers
Xslate reports file names and line numbers, but you can access them via __FILE__
and __LINE__
tokens just like as Perl.
If you want reports files and lines from your functions, Text::Xslate->current_file
and Text::Xslate->current_line
in callbacks are the same as __FILE__
and __LINE__
in templates respectively.
sub my_sqrt {
my($n) = @_;
if($n < 1) {
# return a message instead of warnings
return sprintf "!!! Can't take sqrt of $n at %s line %d !!!",
Text::Xslate->current_file, Text::Xslate->current_line;
}
return sqrt($n);
}
my $tx = Text::Xslate->new(
function => { sqrt => \&my_sqrt },
);
To dump values
You can use any dumping modules via the function
option, but Xslate has a builtin dump
filter to dump template values.
<: $value | dump # Dump $value with Data::Dumper :>