in reply to adding MS-Word templates using Win32::OLE

$word=Win32::OLE->GetActiveObject('Word.Application');
tries to get an existing instance of a Word-object (in other words, a running word). This is of course successful when the code runs as a word-makro. In a standalone-script you will have to create a new instance:
$word=Win32::OLE->CreateObject('Word.Application');
holli, /regexed monk/