This only tells me what variables have been passed to the template, but not what variables the template actually uses:
#!perl -w
use strict;
use Template;
use Template::Plugin::Stash;
my $t = Template->new();
my $tmpl = <<'TMPL';
Name: [% user_name %]
Password: [% user_password %]
---
[% USE Stash %]
[% USE Dumper %]
[% Dumper.dump( Stash.stash() ) %]
---
TMPL
$t->process( \$tmpl, { user_name => 'Corion', user_password => 'secret
+', user_email => 'corion@corion.net'}, \my $output );
print $output;
gives
C:\Projekte>perl -w tmp.pl
Name: Corion
Password: secret
---
[% Dumper.dump( Stash.stash() )
---
C:\Projekte>perl -w tmp.pl
Name: Corion
Password: secret
---
$VAR1 = {
'global' => {},
'user_name' => 'Corion',
'user_password' => 'secret',
'user_email' => 'corion@corion.net'
};
---
and user_email is listed there, even though it is not used in the template anywhere. |