use strict use Win32::OLE qw(in with); use Win32::OLE::Const 'Microsoft Word'; $Win32::OLE::Warn = 2; # Throw Errors, I'll catch them my $Word = Win32::OLE->GetActiveObject('Word.Application') || Win32::OLE->new('Word.Application', 'Quit'); foreach $rate($Word->ActiveDocument->Selection->{Text}){ if ($rate =~ /2M/){ print $rate; }} #### $Word->ActiveDocument->Selection->{Text}; $line1 = $Word->Selection->wdline(2)->{Text}; pirnt $line1; #### $Word->ActiveDocument->Range($Word->ActiveDocument->text)->Select; my $Str = $Word->Selection->Text; print( "Selection=$Str.\n" ); #### foreach $rate($Word->Selection->WholeStory) foreach $rate($Word->Content->Text)