Beta Shell
v2.0 ยท web2.us.cloudlogin.co
[FM]
[CMD]
[PHP]
[DB]
[INFO]
[SEC]
File Manager
~
/
usr
/
share
/
doc
/
perl-Sub-Uplevel
/
examples
Upload
3 items
Name
Size
Perms
Modified
Actions
[ .. / .. ]
uplevel-demo.pl
538 B
-rw-r--r--
2017-04-01 17:31:30
Edit
Del
Editing: uplevel-demo.pl
(538 B)
Path: /usr/share/doc/perl-Sub-Uplevel/examples/uplevel-demo.pl
Back
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();