use strict; use Win32::OLE; my $MSWord = Win32::OLE->new('Word.Application') or die "Can't get word!:$!\n"; my $doc1 = shift || die "You must specify two word docs\n"; my $doc2 = shift || die "You must specify two word docs\n"; my $docOut = shift || die "You must specify an Output doc\n"; my $WordDoc1 = $MSWord->Documents->Open($doc1) or die "Could not open $doc1\n"; my $WordDoc2 = $MSWord->Documents->Open($doc2) or die "Could not open $doc2\n"; my $WordDocOut = $MSWord->Documents->Open($docOut); print "opened bigdoc.doc\n"; ### ### HERE's my BUG please help :) ### my $select1=$WordDoc1->SelectAll() or die "Could not do SelectAll() on doc1\n"; $select1->Copy(); print "did select all on doc1\n"; $WordDocOut->Paste(); print "did paste\n"; $WordDoc2->SelectAll()->Copy(); print "did select all on doc2\n"; $WordDocOut->Paste(); print "did paste\n"; $WordDocOut->Save(); END { $WordDoc1->Close(); $WordDoc2->Close(); $MSWord->Quit(); }