sub CompareWord { my( $doc1, $doc2, $outfile) = @_; require Win32::OLE; $Win32::OLE::Warn = 3; # die on errors... my $Word = Win32::OLE->GetActiveObject('Word.Application') || Win32::OLE->new('Word.Application', 'Quit'); my $WordFile = $Word->Documents->Open($doc1); $Word->{Visible} = 0; $WordFile->Compare( $doc2 ); $Word->WordBasic->FileSaveAs( $outfile); $WordFile->Close(); undef $WordFile; undef $Word; }