|  | 
 | 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. | 
 |  |