# Get the points my @points=@{ $options->{points} }; # Create the Win32::OLE::Variant my $pointlist = Win32::OLE::Variant->new(VT_ARRAY | VT_R4 , 4, 2); # Convert points to Win32::OLE::Variant for my $index (0 .. 3) { # Add x $pointlist->Put( $index, 0, shift(@points) ); # Add y $pointlist->Put( $index, 1, shift(@points) ); } my $new_poly=$self->slide->Shapes->AddPolyline($pointlist);