---
name: "HTML::Template::Compiled::Classic"
section: "3pm"
platform: "linux"
package: "libhtml-template-compiled-perl"
version: "1.003-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/HTML::Template::Compiled::Classic"
---

# HTML::Template::Compiled::Classic(3pm)

Provide the classic functionality like HTML::Template

## NAME

HTML::Template::Compiled::Classic - Provide the classic functionality like HTML::Template

## SYNOPSIS

```
    use HTML::Template::Compiled::Classic compatible => 1;
    my $htcc = HTML::Template::Compiled::Classic->new(
        # usual parameters for HTML::Template::Compiled
    );
```

## DESCRIPTION

This class provides features which can not be used together with features from HTML::Template::Compiled. These are:

- dots in TMPL\_VARs

  If you want to use

  ```
    <TMPL_VAR NAME="some.var.with.dots">
  ```

  you cannot use the dot-feature

  ```
    <TMPL_VAR NAME="some.hash.keys">
  ```

  at the same time.

- Subref variables

  In HTML::Template, the following works:

  ```
      my $ht = HTML::Template->new(
          scalarref => \"<TMPL_VAR foo>",
      );
      $ht->param(foo => sub { return "bar" });
      print $ht->output; # prints 'bar'
  ```

  This doesn't work in HTML::Template::Compiled (in the past it did, but as of HTC version 0.70 it won't any more, sorry).

## METHODS

- compiler\_class

  returns HTML::Template::Compiled::Compiler::Classic

- validate\_var

  gets the var name (parsed out of `"NAME="foo.bar""` and returns if the string is a valid var name
