]> git.vpit.fr Git - perl/modules/Scope-Upper.git/blobdiff - samples/try.pl
Implement uplevel()
[perl/modules/Scope-Upper.git] / samples / try.pl
index e207e14beef5e9b22bcd8213ed21e0e31fc6a79e..38b0e50152a312883c9f86f7901347e5d227bbb1 100644 (file)
@@ -25,3 +25,22 @@ my @stuff = zap(); # @stuff contains qw<a b c>
 my $stuff = zap(); # $stuff contains 3
 
 print "zap() returns @stuff in list context and $stuff in scalar context\n";
+
+{
+ package Uplevel;
+
+ use Scope::Upper qw<uplevel CALLER>;
+
+ sub target {
+  faker(@_);
+ }
+
+ sub faker {
+  uplevel {
+   my $sub = (caller 0)[3];
+   print "$_[0] from $sub()\n";
+  } @_ => CALLER(1);
+ }
+
+ target('hello'); # "hello from Uplevel::target()"
+}