HTML-Template-Compiled
view release on metacpan or search on metacpan
lib/HTML/Template/Compiled.pm view on Meta::CPAN
require B::Deparse;
my $deparse = B::Deparse->new("-p", "-sC");
my $body = $deparse->coderef2text($perl);
my $filename = $self->get_file;
#warn __PACKAGE__.':'.__LINE__.$".Data::Dumper->Dump([\$body], ['body']);
my $message = '';
if ($LAST_EXCEPTION and $LAST_EXCEPTION =~ m/at (?:\(eval \d*\)|\S+) line (\d+)\./) {
my $rline = $1;
my $line = $rline;
$line--;
my @lines = split m#$/#, $body;
if ($line > $#lines) {
$line = $#lines;
}
my $pre = $line > 0 ? join $/, @lines[0 .. $line - 1] : '';
my $post = $line < $#lines ? join $/, @lines[$line + 1 .. $#lines] : '';
my $error = "$/$/# ------------------- ERROR line $rline in template $filename -----------------$/";
my $last = $LAST_EXCEPTION;
$LAST_EXCEPTION =~ s#$/# #g;
$error .= "# $last$/$lines[$line]$/";
if ($html) {
lib/HTML/Template/Compiled/Compiler.pm view on Meta::CPAN
my $class = shift;
my $self = [];
bless $self, $class;
$self->set_escapes({});
return $self;
}
sub _escape_expression {
my ( $self, $exp, $escape ) = @_;
return $exp unless $escape;
my @escapes = split m/\|/, uc $escape;
my $escapes = $self->get_escapes();
for (@escapes) {
if ( $_ eq 'HTML' ) {
$exp =
_expr_function( 'HTML::Template::Compiled::Utils::escape_html',
$exp, );
}
elsif ( $_ eq 'HTML_ALL' ) {
$exp =
_expr_function( 'HTML::Template::Compiled::Utils::escape_html_all',
lib/HTML/Template/Compiled/Compiler.pm view on Meta::CPAN
$initial_var = "\$t->get_globalstack->[-$up_stack]";
$use_initial_var = 0;
$is_object_var = '';
}
elsif (@roots == 1) {
$initial_var = '$P';
$is_object_var = '$P_IS_OBJECT';
$root_hash = 1 if $OPT_ROOT_HASH;
}
}
my @split = split m/(?=$re)/, $args{var};
@split = map {
my @ret;
my $count = 0;
if (s/#\z//) {
$count = 1;
}
if ( m/(.*)\[(-?\d+)\]/ ) {
my @slice = "[$2]";
my $var = "$1";
while ($var =~ s/\[(-?\d+)\]\z//) {
( run in 1.461 second using v1.01-cache-2.11-cpan-71847e10f99 )