in reply to OLE from CGI - Is it possible?

You problem is that the method call you are using is if Word is already running. You code works fine if you first launch Word. Play with this... you will see the difference
use Win32::OLE; #my $Word = Win32::OLE->new('Word.Application')or die "Couldn't open w +ord"; ## use the following if Word is already running my $Word = Win32::OLE->GetActiveObject("Word.Application", \&QuitApp); Word->Documents()->Open("c:\\Projects\\wtemplates\\TEMPLATE.DOC");