娟斌心 发表于 2018-8-31 13:42:35

perl学习日记3(函数)

  函数的格式
  sub shift_to_uppercase{
  @words=qw(cia fbi un nato unicef);
  foreach(@words){
  $_=uc($_); #换成大写
  }
  return(@words);
  }
  @acronyms=shift_to_uppercase();
  print "@acronyms";
  输出为:CIA FBI UN NATO UNICEF
  与C语言不同,在perl中,perl的变量默认为全局变量
  例如:
  sub moonweight{
  return($weight/6);
  }
  $weight=120;
  print moonweight;
  要使变量成为函数的专用变量,使用my操作符
  sub moonweight{
  my $weight;
  $weight=@_;
  return($weight/6);
  }
  print moonweight(120);
  程序中的其他函数都不能访问$weight的值,全局变量和专用变量可以拥有相同的名字
  用my声明多个专用变量
  my($larry,@curly,%moe);
  大部分时候,使用如下形式
  sub player_stats{
  my($at_bats,$hits,$walks)=@_;
  # Rest of function...
  }
  这种方法能够创建一个与程序员友好的函数,它的变量都是函数的专用变量,因此它们不会影响其他的函数,或者受其他函数的影响(包括程序的主体)。当子例程运行结束时,所有专用变量均被撤消。
  递归函数
  sub factorial {
  my($num)=@_; #将参数传递给变量$num
  return(1) if ($num
页: [1]
查看完整版本: perl学习日记3(函数)