Package perl-String-TT: Information

Source package: perl-String-TT
Version: 0.03-alt2
Build time:  Oct 17, 2013, 03:08 PM in the task #106576
Category: Development/Perl
Report package bug
License: perl
Summary: use TT to interpolate lexical variables
String::TT exports a `tt' function, which takes a TT
(Template Toolkit) template as its argument.  It uses the
current lexical scope to resolve variable references.  So if you say:

  my $foo = 42;
  my $bar = 24;

  tt '[% foo %] <-> [% bar %]';

the result will be `42 <-> 24'.

TT provides a slightly less rich namespace for variables than perl, so
we have to do some mapping.  Arrays are always translated from
`@array' to `array_a' and hashes are always translated from `%hash'
to `hash_h'.  Scalars are special and retain their original name, but
they also get a `scalar_s' alias.  Here's an example:

  my $scalar = 'scalar';
  my @array  = qw/array goes here/;
  my %hash   = ( hashes => 'are fun' );

  tt '[% scalar %] [% scalar_s %] [% array_a %] [% hash_h %]';

There is one special case, and that's when you have a scalar that is
named like an existing array or hash's alias:

  my $foo_a = 'foo_a';
  my @foo   = qw/foo array/;

  tt '[% foo_a %] [% foo_a_s %]'; # foo_a is the array, foo_a_s is the scalar

In this case, the `foo_a' accessor for the `foo_a' scalar will not
be generated.  You will have to access it via `foo_a_s'.  If you
delete the array, though, then `foo_a' will refer to the scalar.

This is a very cornery case that you should never encounter unless you
are weird.  99% of the time you will just use the variable name.

List of rpms provided by this srpm:
perl-String-TT (noarch)

Maintainer: Igor Vlasenko

List of contributors:
Igor Vlasenko

    1. perl(inc/Module/
    2. perl(
    3. perl-devel
    4. perl-podlators
    5. perl(
    6. rpm-build-perl
    7. perl(
    8. perl(
    9. perl(
    10. perl(ExtUtils/
    11. perl(ExtUtils/
    12. perl(ExtUtils/
    13. perl(File/
    14. perl(File/
    15. perl(
    16. perl(
    17. perl(LWP/
    18. perl(List/
    19. perl(Module/
    20. perl(Net/
    21. perl(
    22. perl(Parse/CPAN/
    23. perl(Sub/
    24. perl(
    25. perl(YAML/
    26. perl(
    27. perl(Test/
    28. perl(Test/
    29. perl(Test/

Last changed

Oct. 17, 2013 Igor Vlasenko 0.03-alt2
- regenerated from template by package builder
Sept. 10, 2013 Igor Vlasenko 0.03-alt1
- initial import by package builder