mirror of
https://github.com/openssl/openssl.git
synced 2024-12-27 06:21:43 +08:00
63 lines
2.1 KiB
Plaintext
63 lines
2.1 KiB
Plaintext
|
|
||
|
Text::Template v1.46
|
||
|
|
||
|
This is a library for generating form letters, building HTML pages, or
|
||
|
filling in templates generally. A `template' is a piece of text that
|
||
|
has little Perl programs embedded in it here and there. When you
|
||
|
`fill in' a template, you evaluate the little programs and replace
|
||
|
them with their values.
|
||
|
|
||
|
Here's an example of a template:
|
||
|
|
||
|
Dear {$title} {$lastname},
|
||
|
|
||
|
It has come to our attention that you are delinquent in your
|
||
|
{$monthname[$last_paid_month]} payment. Please remit
|
||
|
${sprintf("%.2f", $amount)} immediately, or your patellae may
|
||
|
be needlessly endangered.
|
||
|
|
||
|
Love,
|
||
|
|
||
|
Mark "{nickname(rand 20)}" Dominus
|
||
|
|
||
|
|
||
|
The result of filling in this template is a string, which might look
|
||
|
something like this:
|
||
|
|
||
|
Dear Mr. Gates,
|
||
|
|
||
|
It has come to our attention that you are delinquent in your
|
||
|
February payment. Please remit
|
||
|
$392.12 immediately, or your patellae may
|
||
|
be needlessly endangered.
|
||
|
|
||
|
|
||
|
Love,
|
||
|
|
||
|
Mark "Vizopteryx" Dominus
|
||
|
|
||
|
You can store a template in a file outside your program. People can
|
||
|
modify the template without modifying the program. You can separate
|
||
|
the formatting details from the main code, and put the formatting
|
||
|
parts of the program into the template. That prevents code bloat and
|
||
|
encourages functional separation.
|
||
|
|
||
|
You can fill in the template in a `Safe' compartment. This means that
|
||
|
if you don't trust the person who wrote the code in the template, you
|
||
|
won't have to worry that they are tampering with your program when you
|
||
|
execute it.
|
||
|
|
||
|
----------------------------------------------------------------
|
||
|
|
||
|
Text::Template was originally released some time in late 1995 or early
|
||
|
1996. After three years of study and investigation, I rewrote it from
|
||
|
scratch in January 1999. The new version, 1.0, was much faster,
|
||
|
delivered better functionality and was almost 100% backward-compatible
|
||
|
with the previous beta versions.
|
||
|
|
||
|
I have added a number of useful features and conveniences since the
|
||
|
1.0 release, while still retaining backward compatibility. With one
|
||
|
merely cosmetic change, the current version of Text::Template passes
|
||
|
the test suite that the old beta versions passed.
|
||
|
|