in reply to powerpoint problem

Not only as NetWallah points out are perl variables case-sensitive, i.e. $splice is different from $Splice, but you need to manipulate your newly created slide inside the while/for loop:
$pname = "..."; for my $i (0..4) { $slide = $ppt->Slides->Add(...); $slide->Shapes->AddOLEObject(...); }