summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Stone <talby@trap.mtview.ca.us>2013-10-20 12:08:07 -0700
committerRobert Stone <talby@trap.mtview.ca.us>2013-10-20 12:17:52 -0700
commit36b2345df569e62f22a7fb1daa6ba048574c6df8 (patch)
treedcd5db5b688f2806c2945f8412087180e4f473be
parent1025b8117b167ad5575bf6799174ef43d74d034a (diff)
downloadswig-talby-perl5-improvements.tar.gz
freshen perl5 examplestalby-perl5-improvements
-rw-r--r--Examples/perl5/class/runme.pl18
-rw-r--r--Examples/perl5/reference/runme.pl26
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;