use v5.10; use strict; use warnings; use Win32::OLE; use Win32::OLE::Const 'Microsoft Word'; $Win32::OLE::Warn = 3; # die on errors... my $Word = Win32::OLE->new('Word.Application', 'Quit'); $Word->{'Visible'} = 1; my $document = $Word->Documents->Open('D:\path\tmp.doc'); say "Could not open doc:". Win32::OLE->LastError() if !$document ; say $Word->ActiveDocument->Tables->Count; my $x = $Word->ActiveDocument->Tables(5)->Cell(2,1)->Range->Text; say $x;