This file is indexed.

/usr/share/perl5/Text/MicroMason/QuickTemplate.pm is in libtext-micromason-perl 2.21-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
package Text::MicroMason::QuickTemplate;

require Text::MicroMason::Base;
require Text::MicroMason::StoreOne;
require Text::MicroMason::HasParams;
push @ISA, map "Text::MicroMason::$_", qw( StoreOne HasParams );

require Exporter;
$DONTSET = \"";
sub import { @EXPORT = '$DONTSET'; goto &Exporter::import }

######################################################################

sub defaults {
  (shift)->NEXT('defaults'), delimiters => [ '{{', '}}' ],
}

######################################################################

sub lex_token {
  my $self = shift;
  
  my ($l_delim, $r_delim) = @{ $self->{'delimiters'} };
  /\G \Q$l_delim\E (.*?) \Q$r_delim\E/gcxs ? ( expr => 
      'my @param = $m->param(' . "'\Q$1\E'" . ');
      scalar @param or die "could not resolve the following symbol: ' . $1 . '"; 
      ( $param[0] eq "' . $DONTSET . '" ) ? "{{' . $1 . '}}" : $param[0]' ) :
  
  # Things that don't match the above
  /\G ( (?: [^\{] | \{(?!\{) )+ ) /gcxs ? ( 'text' => $1 ) : 
  
  ()
}

######################################################################

sub fill { (shift)->execute_again( @_ ) }

sub pre_fill { unshift @{ (shift)->{params} }, { @_ } }

sub clear_values { @{ (shift)->{params} } = () }

######################################################################

1;

__END__

######################################################################

=head1 NAME

Text::MicroMason::QuickTemplate - Alternate Syntax like Text::QuickTemplate


=head1 SYNOPSIS

Instead of using this class directly, pass its name to be mixed in:

  use Text::MicroMason;
  my $mason = Text::MicroMason::Base->new( -QuickTemplate );

Use the standard compile and execute methods to parse and evaluate templates:

  print $mason->compile( text=>$template )->( @%args );
  print $mason->execute( text=>$template, @args );

Or use Text::QuickTemplate's calling conventions:

    $template = Text::MicroMason->new( -HTMLTemplate, text=>'simple.tmpl' );
    print $template->fill( %arguments );

Text::QuickTemplate provides a syntax to embed values into a text template:

    Good {{timeofday}}, {{name}}!


=head1 DESCRIPTION

This mixin class overrides several methods to allow MicroMason to emulate
the template syntax and some of the other features of Text::QuickTemplate.

This class automatically includes the following other mixins: TemplateDir, HasParams, and StoreOne.

=head2 Compatibility with Text::QuickTemplate

This is not a drop-in replacement for Text::QuickTemplate, as the implementation is quite different, but it should be able to process most existing templates without major changes.

The following features of EmbPerl syntax are supported:

=over 4

=item *

Curly bracketed tags with parameter names.

=item *

Array of parameters hashes.

=item *

Special $DONTSET variable.

=back


=head1 SEE ALSO

The interface being emulated is described in L<Text::QuickTemplate>.

For an overview of this templating framework, see L<Text::MicroMason>.

This is a mixin class intended for use with L<Text::MicroMason::Base>.

For distribution, installation, support, copyright and license 
information, see L<Text::MicroMason::Docs::ReadMe>.

=cut