On 2/11/2013 10:54 AM, E R wrote:
When I have an object (e.g. blessed hash) in the stash, I'd like to
prevent TT from accessing any of the hash fields directly. It can still
access the method functions.

A simple example - suppose the TT template looks like:

   [% obj.the_time %]
   [% obj._unix_time %]

and in the stash 'obj' is a blessed hash:

package foo;

sub new { bless { _unix_time => time }, shift }
sub the_time { ... }

I'd like the first GET to succeed and the second one to either fail,
raise and exception, return the empty string or something like that.

Is this possible?

This is already the default. Vars that start with '.' or '_' are considered private, and ignored. If you want to die, rather than getting undef, add STRICT => 1 to your Template->new.



_______________________________________________
templates mailing list
templates@template-toolkit.org
http://mail.template-toolkit.org/mailman/listinfo/templates

Reply via email to