use strict; use warnings; use Win32::OLE ; use Win32::OLE::Const 'Microsoft Word'; my $sourcefile='C:\Users\Carl\Documents\AddressMergeTXT.txt'; my $mergefile='C:\Users\Carl\Documents\Merge.docx'; my $template = 'C:\Users\Carl\Documents\MergeLetter.docx'; my $Word= Win32::OLE->new('Word.Application', 'Quit'); $Word->Documents->Open($template); $Word->ActiveDocument->MailMerge->OpenDataSource($sourcefile); $Word->ActiveDocument->MailMerge->{Destination} = wdSendToNewDocument; $Word->ActiveDocument->MailMerge->Execute; $Word->ActiveDocument->SaveAs($mergefile); $Word->Documents->Close(wdDoNotSaveChanges); undef $Word;