Skip Menu | will be shut down on March 1st, 2021.

This queue is for tickets about the HTML-Template CPAN distribution.

Report information
The Basics
Id: 64158
Status: new
Priority: 0/
Queue: HTML-Template

Owner: Nobody in particular
Requestors: intrigeri [...]

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)

Subject: Silently forgets value of unknown parameter despite die_on_bad_params set to false
Date: Wed, 22 Dec 2010 19:49:48 +0100
To: bug-HTML-Template [...]
From: intrigeri <intrigeri [...]>
Download (untitled) / with headers
text/plain 1.7k
Hi, ikiwiki [0] is using HTML::Template. I am currently testing using HTML::Template 2.9-2 (i.e. 2.9 upstream with second Debian packaging patch level) and Perl v5.10.1 (Debian Squeeze). [0] We are currently hunting a bug [1] that only appears once we started using a template parameter that is not defined in the template. We set this parameter like this: $template->param(title_overridden => 1); If I immediately try to access its value: $template->param('title_overridden') ... I always get undef. [1] FYI we are passing the following options to the HTML::Template constructor: filter => sub { my $text_ref = shift; ${$text_ref} = decode_utf8(${$text_ref}); }, loop_context_vars => 1, die_on_bad_params => 0, In order to fix this bug I have to pass (the undocumented) "parent_global_vars => 1" to the HTML::Template constructor so that HTML::Template::param initializes $param_map->{$param} before checking its reference type. Setting "global_vars => 1" does not fix this bug. I am pretty sure there is a better way to get the desired behavior, either by passing a better suited parameter to the HTML::Template constructor, or by fixing an underlying bug. My debugging efforts lead me to think the $options->{parent_global_vars} that can be seen by the param sub $options->sometimes did not inherit the global_vars setting. Bye, -- intrigeri <> | GnuPG key @ | OTR fingerprint @ | We're dreaming of something else. | Something more clandestine, something happier.

This service is sponsored and maintained by Best Practical Solutions and runs on infrastructure.

Please report any issues with to