?? fig06_16.pl
字號:
#!/usr/bin/perl
# Fig. 6.16: fig06_16.pl
# Demontrating variable scope.
# before global variables are defined, call subroutine1
print "Without globals:\n";
subroutine1();
# define global variables
our $x = 7;
our $y = 17;
# call subroutine1 to see results with defined global variables
print "\nWith globals:";
print "\nglobal \$x: $x";
print "\nglobal \$y: $y\n";
subroutine1();
print "\nglobal \$x: $x";
print "\nglobal \$y: $y\n";
subroutine2();
# subroutine1 displays its own $x (lexical scope )
# and $y (dynamic scope) variables, then calls subroutine2
sub subroutine1
{
my $x = 10;
local $y = 5;
print "\$x in subroutine1: $x\t(lexical to subroutine1)\n";
print "\$y in subroutine1: $y\t(dynamic to subroutine1)\n";
subroutine2();
}
# subroutine2 displays global $x and subroutine1's $y which
# has dynamic scope
sub subroutine2
{
print "\$x in subroutine2: $x\t(global)\n";
print "\$y in subroutine2: $y\t(dynamic to subroutine1)\n";
}
###########################################################################
# (C) Copyright 2001 by Deitel & Associates, Inc. and Prentice Hall. #
# All Rights Reserved. #
# #
# DISCLAIMER: The authors and publisher of this book have used their #
# best efforts in preparing the book. These efforts include the #
# development, research, and testing of the theories and programs #
# to determine their effectiveness. The authors and publisher make #
# no warranty of any kind, expressed or implied, with regard to these #
# programs or to the documentation contained in these books. The authors #
# and publisher shall not be liable in any event for incidental or #
# consequential damages in connection with, or arising out of, the #
# furnishing, performance, or use of these programs. #
###########################################################################
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -