my $var = "aaaaaaaaa";
print "1---\$var is $var\n";
&fun1;
&fun2;
#子程序用的变量会被销毁
print "3---\$var2 is $var2\n";
print "4----\$var2 is $$var3\n";
sub fun1{
print "2----\$var is $var\n"};
##外部变量在子程序中仍旧有用
sub fun2{
my $var2="bbbbbbbbbb";
# my $var3=\$var2;
$var3=\$var2;
print "\$var3 is $$var3\n";
};
#此时的结果:
G:\运维系统开发\Tk\1>perl 4.pl
1---$var is aaaaaaaaa
2----$var is aaaaaaaaa
$var3 is bbbbbbbbbb
3---$var2 is
4----$var2 is
要想子程序里的变量在外部生效, 引用变量必须为全局变量
G:\运维系统开发\Tk\1>perl 4.pl
1---$var is aaaaaaaaa
2----$var is aaaaaaaaa
$var3 is bbbbbbbbbb
3---$var2 is
4----$var2 is bbbbbbbbbb
Perl 子程序变量外部使用--又称为闭包
最新推荐文章于 2022-05-28 20:36:02 发布
本文探讨了Perl中子程序如何使用外部变量,特别是涉及闭包的概念。通过示例展示了my关键字创建的局部变量在子程序内外的不同行为,以及如何通过引用使子程序内的变量在外部生效。
摘要由CSDN通过智能技术生成