use strict; use warnings; use Win32::OLE; my $word = Win32::OLE->new('Word.Application') or die $!; my $document = $word->Documents->Add; my $selection = $word->Selection; $word->{'Visible'} = 1; my @DATA_array = ( 'This is a test line' , 'This is second test Line' , 'This is the third line' ); my ($ColorIndex_iter, $start, $end, $current_sentence_iter) = (2, 0, 0, 1); foreach my $elements (@DATA_array) { $selection->TypeText($elements); print "$elements $start ".length($elements)."\n"; $selection->Font->{Size} = 12; $selection->Font->{ColorIndex} = $ColorIndex_iter; $selection->Hyperlinks->Add({ Anchor => $document->Range->Sentences($current_sentence_iter), Address => $elements }) or die "I am unable to do it"; $selection -> TypeParagraph; $current_sentence_iter++; sleep (1); } undef $word;