#!/usr/bin/perl -w
use strict;
my($emltmpl) = './email_template';
my($parser) = qr/(?s)(?:\%){3}(.*?)(?:\%){3}/;
my(%tokens) =
(
'date' => scalar(localtime),
'fname' => 'André',
'lname' => 'Cameron',
'street' => '123 Foo Bar Drive',
'zip' => '54321',
'state' => 'OZ',
'city' => 'Emerald City',
'orderid' => 'S8d65adPA-5',
'product' => 'widget',
'price' => '$9.95 USD',
'quantity' => 2,
'subtot' => '$19.90 USD',
's&h' => '$2.00 USD',
'tax' => 'n/a',
'total' => '$21.90 USD',
);
{
local($/); local(*FH);
open(FH, $emltmpl) or die(qq[Can't open "$emltmpl" $!]);
$emltmpl = <FH>;
close(FH);
}
sub expand_tokens { $_[0] =~ s/$parser/$tokens{$1||''}/gme; $_[0] }
print(expand_tokens($emltmpl));
__END__
TO TRY OUT THIS EXAMPLE, create a new file in the same directory where you
run this script. Name the new file "email_template" and copy the text below
_this line_ into the file, and then run this code.
%%%date%%%
Hello %%%fname%%%,
Thanks for buying a %%%product%%%. The order ID for this purchase
appears below. Should you have questions regarding this order, please
direct your inquiries to WWWidget support and include your order ID.
Order ID: %%%orderid%%%
As per your request, your %%%product%%% will be shipped to:
%%%fname%%% %%%lname%%%
%%%street%%%
%%%city%%%, %%%state%%%
%%%zip%%%
Details of your purchase:
item %%%product%%% %%%price%%% (%%%quantity%%% count)
subtotal %%%subtot%%%
s&h %%%s&h%%%
tax %%%tax%%%
_______________________
total %%%total%%%
Regards,
The WWWidget Store
Ô¿Ô¬