From 36b2345df569e62f22a7fb1daa6ba048574c6df8 Mon Sep 17 00:00:00 2001 From: Robert Stone Date: Sun, 20 Oct 2013 12:08:07 -0700 Subject: freshen perl5 examples --- Examples/perl5/class/runme.pl | 18 ++++++++++-------- Examples/perl5/reference/runme.pl | 26 ++++++++++++++------------ 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/Examples/perl5/class/runme.pl b/Examples/perl5/class/runme.pl index 02f31532d..e0c8a6aad 100644 --- a/Examples/perl5/class/runme.pl +++ b/Examples/perl5/class/runme.pl @@ -1,4 +1,6 @@ -# file: runme.pl +#!/usr/bin/perl +use strict; +use warnings; # This file illustrates the low-level C++ interface # created by SWIG. In this case, all of our C++ classes @@ -9,9 +11,9 @@ use example; # ----- Object creation ----- print "Creating some objects:\n"; -$c = new example::Circle(10); +my $c = example::Circle->new(10); print " Created circle $c\n"; -$s = new example::Square(10); +my $s = example::Square->new(10); print " Created square $s\n"; # ----- Access a static member ----- @@ -36,7 +38,7 @@ print " Square = (",$s->{x},",", $s->{y},")\n"; # ----- Call some methods ----- print "\nHere are some properties of the shapes:\n"; -foreach $o ($c,$s) { +foreach my $o ($c,$s) { print " $o\n"; print " area = ", $o->area(), "\n"; print " perimeter = ", $o->perimeter(), "\n"; @@ -48,13 +50,13 @@ print "\nGuess I'll clean up now\n"; # Note: this invokes the virtual destructor -$c->DESTROY(); -$s->DESTROY(); +undef $c; +undef $s; print $example::Shape::nshapes," shapes remain\n"; -$square = example::CFoo->MakeSquare(); -$tsquare = example::CFoo->MakeTSquare(); +my $square = example::CFoo->MakeSquare(); +my $tsquare = example::CFoo->MakeTSquare(); print "Areas ", $square->area(), " ", $tsquare->area(),"\n"; print "Goodbye\n"; diff --git a/Examples/perl5/reference/runme.pl b/Examples/perl5/reference/runme.pl index 41dc0b873..9e86a5c29 100644 --- a/Examples/perl5/reference/runme.pl +++ b/Examples/perl5/reference/runme.pl @@ -1,4 +1,6 @@ -# file: runme.pl +#!/usr/bin/perl +use strict; +use warnings; # This file illustrates the manipulation of C++ references in Perl. # This uses the low-level interface. Proxy classes work differently. @@ -8,8 +10,8 @@ use example; # ----- Object creation ----- print "Creating some objects:\n"; -$a = example::new_Vector(3,4,5); -$b = example::new_Vector(10,11,12); +my $a = example::new_Vector(3,4,5); +my $b = example::new_Vector(10,11,12); print " Created",example::Vector_print($a),"\n"; print " Created",example::Vector_print($b),"\n"; @@ -23,17 +25,17 @@ print " Created",example::Vector_print($b),"\n"; # It returns a new allocated object. print "Adding a+b\n"; -$c = example::addv($a,$b); +my $c = example::addv($a,$b); print " a+b =", example::Vector_print($c),"\n"; # Note: Unless we free the result, a memory leak will occur -example::delete_Vector($c); +undef $c; # ----- Create a vector array ----- # Note: Using the high-level interface here print "Creating an array of vectors\n"; -$va = example::new_VectorArray(10); +my $va = example::new_VectorArray(10); print " va = $va\n"; # ----- Set some values in the array ----- @@ -50,25 +52,25 @@ example::VectorArray_set($va,2,example::addv($a,$b)); $c = example::addv($a,$b); example::VectorArray_set($va,3,$c); -example::delete_Vector($c); +undef $c; # Get some values from the array print "Getting some array values\n"; -for ($i = 0; $i < 5; $i++) { +for (my $i = 0; $i < 5; $i++) { print " va($i) = ", example::Vector_print(example::VectorArray_get($va,$i)), "\n"; } # Watch under resource meter to check on this print "Making sure we don't leak memory.\n"; -for ($i = 0; $i < 1000000; $i++) { +for (my $i = 0; $i < 1000000; $i++) { $c = example::VectorArray_get($va,$i % 10); } # ----- Clean up ----- print "Cleaning up\n"; -example::delete_VectorArray($va); -example::delete_Vector($a); -example::delete_Vector($b); +undef $va; +undef $a; +undef $b; -- cgit v1.2.1