use Win32::OLE qw/ in /; my $file = 'C:\Documents and Settings\jim\My Documents\perlmonks_examples\sample.ppt'; my $ppt = Win32::OLE->new('PowerPoint.Application', sub {$_[0]->Quit;}); $ppt->{Visible} = 1; my $presentation = $ppt->Presentations->Open($file); die "Cannot open File '$file': $! " unless ( $presentation ); my $slide = $presentation->slides(1); foreach my $shape ( in $slide->Shapes ) { if ($shape->TextFrame->HasText) { print "Text:", $shape->TextFrame->{TextRange}->{Text} , "\n"; } } __DATA__ Text:This is the sample title Text:This is the sample text.