use Win32::OLE; use Win32::OLE::Variant; my $pointcount = 4; # 4 points my $point_dimensions = 2; # The arrayrefs mean we use 1-based indices, like the VBA examples do: # my $pointlist = Variant(VT_ARRAY | VT_R4 , [1,$pointcount], [1,$point_dimensions]); # Alternatively, use 0-based indices, like Perl does: my $pointlist = Variant(VT_ARRAY | VT_R4 , $pointcount, $point_dimensions); $pointlist->Put( 0,0, 25 ); $pointlist->Put( 0,1, 100 ); ... $slide->Shapes->AddPolyline($pointlist);