summaryrefslogtreecommitdiff
path: root/Examples/perl5/variables/runme.pl
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/perl5/variables/runme.pl')
-rw-r--r--Examples/perl5/variables/runme.pl73
1 files changed, 73 insertions, 0 deletions
diff --git a/Examples/perl5/variables/runme.pl b/Examples/perl5/variables/runme.pl
new file mode 100644
index 0000000..76e3dc8
--- /dev/null
+++ b/Examples/perl5/variables/runme.pl
@@ -0,0 +1,73 @@
+# file: runme.pl
+
+use example;
+
+# Try to set the values of some global variables
+
+$example::ivar = 42;
+$example::svar = -31000;
+$example::lvar = 65537;
+$example::uivar = 123456;
+$example::usvar = 61000;
+$example::ulvar = 654321;
+$example::scvar = -13;
+$example::ucvar = 251;
+$example::cvar = "S";
+$example::fvar = 3.14159;
+$example::dvar = 2.1828;
+$example::strvar = "Hello World";
+$example::iptrvar= example::new_int(37);
+$example::ptptr = example::new_Point(37,42);
+$example::name = "Bill";
+
+# Now print out the values of the variables
+
+print "Variables (values printed from Perl)\n";
+
+print "ivar = $example::ivar\n";
+print "svar = $example::svar\n";
+print "lvar = $example::lvar\n";
+print "uivar = $example::uivar\n";
+print "usvar = $example::usvar\n";
+print "ulvar = $example::ulvar\n";
+print "scvar = $example::scvar\n";
+print "ucvar = $example::ucvar\n";
+print "fvar = $example::fvar\n";
+print "dvar = $example::dvar\n";
+print "cvar = $example::cvar\n";
+print "strvar = $example::strvar\n";
+print "cstrvar = $example::cstrvar\n";
+print "iptrvar = $example::iptrvar\n";
+print "name = $example::name\n";
+print "ptptr = $example::ptptr", example::Point_print($example::ptptr), "\n";
+print "pt = $example::pt", example::Point_print($example::pt), "\n";
+
+print "\nVariables (values printed from C)\n";
+
+example::print_vars();
+
+print "\nI'm going to try and update a structure variable.\n";
+
+$example::pt = $example::ptptr;
+
+print "The new value is ";
+example::pt_print();
+print "You should see the value", example::Point_print($example::ptptr), "\n";
+
+
+print "\nNow I'm going to try and modify some read only variables\n";
+
+
+print " Trying to set 'status'\n";
+eval { $example::status = 0; };
+if (!$@) {
+ die("status");
+}
+print " get error for 'status'\n";
+
+print " Tring to set 'path'\n";
+eval { $example::path = "Whoa!";};
+if (!$@) {
+ die("path");
+}
+print " get error for 'path'\n";