设为首页 收藏本站
查看: 840|回复: 0

[经验分享] Perl入门(六) Perl方法的使用

[复制链接]

尚未签到

发表于 2018-8-30 10:30:39 | 显示全部楼层 |阅读模式
  
  1.定义一个方法
  Perl使用sub定义方法。
  语法:
  sub 方法名称{方法体}2.%E8%B0%83%E7%94%A8%E4%B8%80%E4%B8%AA%E6%96%B9%E6%B3%95
  %E3%80%80%E3%80%80Perl%E7%9B%B4%E6%8E%A5%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95%E5%90%8D%E7%A7%B0%E8%B0%83%E7%94%A8%E6%96%B9%E6%B3%95%E3%80%82
  %E3%80%80%E3%80%80%E8%B0%83%E7%94%A8%E6%96%B9%E5%BC%8F%E6%9C%89%E4%BB%A5%E4%B8%8B%E5%9B%9B%E7%A7%8D%EF%BC%9A
  %E3%80%80%E3%80%80%E3%80%80%E3%80%80%E6%96%B9%E6%B3%95%E5%90%8D%E7%A7%B0%EF%BC%9B
  %E3%80%80%E3%80%80%E3%80%80%E3%80%80&%E6%96%B9%E6%B3%95%E5%90%8D%E7%A7%B0%EF%BC%9B
  %E3%80%80%E3%80%80%E3%80%80%E3%80%80%E6%96%B9%E6%B3%95%E5%90%8D%E7%A7%B0();
  %E3%80%80%E3%80%80%E3%80%80%E3%80%80&%E6%96%B9%E6%B3%95%E5%90%8D%E7%A7%B0();
  %E3%80%80%E3%80%80%E8%AF%B4%E6%98%8E%EF%BC%9A%E6%96%B9%E6%B3%95%E8%B0%83%E7%94%A8%E5%8F%AF%E4%BB%A5%E5%86%8D%E4%BB%BB%E4%BD%95%E4%BD%8D%E7%BD%AE%EF%BC%8C%E5%8F%AF%E4%BB%A5%E5%9C%A8%E6%96%B9%E6%B3%95%E5%89%8D%E3%80%81%E5%90%8E%E8%B0%83%E7%94%A8%EF%BC%8C%E4%B9%9F%E5%8F%AF%E4%BB%A5%E5%9C%A8%E6%96%B9%E6%B3%95%E4%BD%93%E5%86%85%E9%83%A8%E8%B0%83%E7%94%A8%E3%80%82
  %E3%80%80%E3%80%80
  3.%E4%BC%A0%E9%80%92%E5%8F%82%E6%95%B0

  %E3%80%80%E3%80%80Perl%E9%80%9A%E8%BF%87%E6%96%B9%E6%B3%95%E5%90%8D%E5%90%8E%E9%9D%A2%E7%9A%84%E6%8B%AC%E5%8F%B7%E5%B0%86%E5%8F%82%E6%95%B0%E5%88%97%E8%A1%A8%E4%BC%A0%E9%80%92%E5%88%B0%E6%96%B9%E6%B3%95%E4%BD%93%E5%86%85%E3%80%82%E4%BE%8B%E5%A6%82%EF%BC%9Afunction_name(" param1>  方法体内部通过@_接收参数。@_是数组。取值的方法也可以采用下标的形式取得。
br/>2.调用一个方法
  Perl直接使用方法名称调用方法。
  调用方式有以下四种:
  方法名称;
  &方法名称;
  方法名称();
  &方法名称();
  说明:方法调用可以再任何位置,可以在方法前、后调用,也可以在方法体内部调用。
  3.传递参数
  Perl通过方法名后面的括号将参数列表传递到方法体内。例如:function_name("param1","param2"...);
  方法体内部通过@_接收参数。@_是数组。取值的方法也可以采用下标的形式取得。
  关于传值和传引用:%E3%80%80%E3%80%80%E3%80%80%E3%80%801.%E7%9B%B4%E6%8E%A5%E5%B0%86%E5%80%BC%E5%86%99%E8%BF%9B%E6%96%B9%E6%B3%95%E5%90%8E%E9%9D%A2%E7%9A%84%E6%8B%AC%E5%8F%B7%E5%86%85%E5%B0%B1%E6%98%AF%E4%BC%A0%E5%80%BC%EF%BC%8C%E5%B0%86%E6%A0%87%E9%87%8F%EF%BC%88%24xxx%EF%BC%89%E3%80%81%E6%95%B0%E7%BB%84(@xxxx)%E3%80%81%E5%93%88%E5%B8%8C%E7%BB%93%E6%9E%84%EF%BC%88%xxx%EF%BC%89%E6%94%BE%E8%BF%9B%E5%8E%BB%E5%B0%B1%E6%98%AF%E4%BC%A0%E5%BC%95%E7%94%A8%E3%80%82br/>如何获取引用指向的值?根据引用类型的不同,采用不同的符:引用的值为普通值$$ref,数组@$ref,哈希结构%$ref.是不是和上面说的一样呢?
4.方法的返回值
  可以使用return显示的返回值。也可不用return。
  简单示例,帮助理解
  [python] view plain copy
  #!user/bin/env perl -w
  #定义一个函数
  sub fun_say_hello{
  print "hello,world!\n";
  }
  #引用函数
  fun_say_hello;
  &fun_say_hello;
  fun_say_hello();
  &fun_say_hello();
  #传递参数
  sub fun_say_hello_withname{  
  ($name) = @;
  print "hello,$name!\n";
  }
  fun_say_hello_with_name("Tom");
  #传值和传引用
  sub fun_changename1{  
  ($fname) = @;
  $fname = "Jack";
  }
  sub fun_changename2{  
  @[0] = "Jack";
  }
  $name = "Tony";
  fun_change_name1($name);
  print "$name\n";
  fun_change_name2($name);
  print "$name\n";
  #返回值
  sub checklogin{  
  ($name) = @;
  if ($name eq "Tony")
  {
  return "welcome\n";
  }
  else
  {
  "sorry\n";
  }
  }
  print check_login("Tony");
  print check_login("Jack");
  
  版权声明:本文为博主原创文章,未经博主允许不得转载。
  本文已收录于以下专栏:perl学习


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-558815-1-1.html 上篇帖子: Perl入门(五)Perl文件读写 下篇帖子: 2003系统配置IIS+CGI环境,装active perl提示安装不了的解决办法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表