Add the original source packages to maemo, source lenny
[dh-make-perl] / dev / i386 / libsub-uplevel-perl / libsub-uplevel-perl-0.1901 / examples / uplevel-demo.pl
diff --git a/dev/i386/libsub-uplevel-perl/libsub-uplevel-perl-0.1901/examples/uplevel-demo.pl b/dev/i386/libsub-uplevel-perl/libsub-uplevel-perl-0.1901/examples/uplevel-demo.pl
new file mode 100644 (file)
index 0000000..ce3239c
--- /dev/null
@@ -0,0 +1,23 @@
+use strict;
+use warnings;
+
+use Sub::Uplevel;
+
+# subroutine A calls subroutine B with uplevel(), so when
+# subroutine B queries caller(), it gets main as the caller (just
+# like subroutine A) instead of getting subroutine A
+
+sub sub_a {
+    print "Entering Subroutine A\n";
+    print "caller() says: ", join( ", ", (caller())[0 .. 2] ), "\n";
+    print "Calling B with uplevel\n";
+    uplevel 1, \&sub_b;
+}
+
+sub sub_b {
+    print "Entering Subroutine B\n";
+    print "caller() says: ", join( ", ", (caller())[0 .. 2] ), "\n";
+}
+
+sub_a();
+