perl中my变量和local变量之间的区别

#!/usr/bin/perl

#my 和 local的区别,my local都只能在一个block中使用,但是local可以在该block的子程序中调用 但是没有不可以

#我们可以使用 local 为全局变量提供临时的值,在退出作用域后将原来的值还回去。

#local 定义的变量不存在于主程序中,但存在于该子程序和该子程序调用的子程序中

$string="hello world!";

sub PrintRunboo{

  local $string;

  $string="hello Runoob!";

  PrintMe();#hello Runoob

  print "$string\n";#hello Runoob

}

sub PrintMe{

  print "$string\n";

}

sub PrintHello{

  print "$string\n";#hello world

}

#calling function

PrintRunboo();

PrintHello();