у вас все правильно. возможно только надо использовать не
use CGI::FastTemplate;
а require "FastTemplate.pm";
Т.е. если модуль инсталлирован, то use, а если нет, то require + путь к нему.
А так все нормально, у меня работает (я его маленько ихменил, но суть та же):
#!/usr/bin/perl -w
require "FastTemplate.pm";
my $tpl = new CGI::FastTemplate();
print("Content-Type: text/html\\n\\n");
$tpl->define(main => "index.pl" );
$tpl->assign(TITLE => "Title");
$tpl->parse(CONTENT => "main");
$tpl->print();
#Лучше все же использовать $tpl->print(\'CONTENT\');
# ну а можно и иначе:
#my $content=$tpl->fetch(\'CONTENT\');
#print $$content;