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(...);
}