#!/usr/bin/perl use strict; use warnings; use Win32::OLE; use Win32::OLE::Enum; my $document = Win32::OLE->GetObject("C:\\tmpx\\test.docx") or die "GetObject failed: $!\n"; my $paragraphs = $document->Paragraphs(); my $enumerate = new Win32::OLE::Enum($paragraphs); while(defined(my $paragraph = $enumerate->Next())) { my $text = $paragraph->{Range}->{Text}; $text =~ s/[\n\r]//g; $text =~ s/\x0b/\n/g; print "$text\n"; }