#!/usr/bin/perl
sub g_print{
print "$x\n";
}
  #my local都叫做私有变量。
  sub test_my{
  my $x=11;#my定义的变量只能在该块体(两个{}之间)中使用,不能向内传递
  print"call-my $x\n";#11,就近原则
  g_print;#my参数不能向内传递,所以还是输出9
}

  sub test_local{
  local $x=20;#local也是私有变量,但是与my的区别是,local可以向内传递
  print"call-local $x\n";#20
  g_print;#209
}

$x=9;
test_my;
test_local;
print $x;
#my变量:只在本层模块可以看到这个变量
#local变量:本层和本层下层的函数都可以看到的变量

相关文章:

  • 2022-01-25
  • 2022-12-23
  • 2022-12-23
  • 2021-09-03
  • 2022-12-23
  • 2021-07-20
  • 2022-12-23
  • 2021-09-26
猜你喜欢
  • 2022-12-23
  • 2021-11-08
  • 2022-12-23
  • 2021-07-15
  • 2022-02-09
相关资源
相似解决方案