Here is some old code snippets for making PPT files:
# Create PowerPoint OLE server.
my $ppt = Win32::OLE->new( 'PowerPoint.Application', 'Quit' )or die "C
+an't create PowerPoint OLE: $!\n";
$ppt->{Visible} = 1;
my $pres = $ppt->Presentations->Add();
####### SLIDE #1: INSPECTION NAME
$Slide = $pres->Slides ->Add({Index=>"$slideIndex" , Layout=>ppLay
+outTitle});
$Title=$Slide->Shapes->{Title};
$Title->TextFrame->TextRange->{Text} ="INSP $level Inspection";
#$SubTitle=
$Slide->Shapes->Placeholders(2)->Delete;
#$SubTitle->TextFrame->TextRange->{Text} ="INSP Comments\:";
####### SLIDE #2: SPC CHARTS
$spc_img = "$path\\charts\\INSP\\"."$level"."\.jpg";
$slideIndex++;
$Slide = $pres->Slides ->Add({Index=>"$slideIndex" , Layout=>ppLay
+outTitleOnly});
$Title=$Slide->Shapes->{Title};
$Title->TextFrame->TextRange->{Text} ="$level SPC Charts";
$picture_spc = $Slide->Shapes->AddPicture({
FileName => "$spc_img",
LinkToFile => 0,
SaveWithDocument => 1,
Left =>0,
Top => 55,
Width => 720,
Height => 450
});
$TextBox=$Slide->Shapes->AddTextbox({Orientation=>1,
Left=>50,
Top=>500,
Width=>650,
Height=>30});
$TextBox->TextFrame->TextRange->{Text} ="Trend Comments:";
$WeekBox = $Slide->Shapes->AddShape({Type => '1',
Left=>600,
Top=>87,
Width=>100,
Height=>385});
$WeekBox->Fill->ForeColor->{RGB} = (RGB(0,0,255));
$WeekBox->Fill->{Transparency} = (0.8);
$WeekBox->Line->{Weight} = (2.25);