子函数

  • 子函数的定义
    sub 子函数明{ #statement }, 子函数名如果重名,则后定义的覆盖前定义的,如果与系统函数名字则必须在子函数明前加&来显示的调用。
  • 子函数的调用
    一般在子函数名前加&调用,如果调用时,子函数已经在前面定义过则&可以省略。调用的时候函数参数没有限制。
  • 子函数的参数
    子函数通过数组@_来传递参数,参数也可以通过$_[0],$_[1]方式进行单个的引用。
    my $param1 = shift @_; my ($param1 ,$param2, $param3) = @_;
  • 子函数的返回值
    在未用return语句时,子函数的返回值为在函数中所执行的最后一条语句的执行结果。也可以用return语句显示的返回指定内容。返回值可以是 标量也可以是数组。根据在函数返回处的上下文环境决定。
  • 子函数的变量
    通过my可以定义子函数范围内的局部变量,my定义的变量的作用域在定义的语句块(文件)内。主义my定义的变量不要于系统变量重名比如$_,$a,$b之类的。
    可以用stat来定义持久性私有变量。stat定义的变量,在函数多次调用的时候保存其以前的值,但其作用域限制在函数内

Subroutine in Perl相关推荐

  1. Subroutine 子程序 Perl 第四章

    子程序的定义是全局的,不需要事先声明.若重复定义子程序,后面的覆盖前面的. sub marine { $n +=1; print " Hello ,sailor number $_ ! &q ...

  2. perl数组硬引用_perl引用和数组 - SibylY的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.引用 常见数据类型的引用定义: 数据类型           定义      举例 标量变量           \$Var                              $Point ...

  3. 执行perl时出现Undefined subroutine

    对perl研究得不是很深,平时只是随便写写,最近一次,执行perl时,出现如下错误 Undefined subroutine &main::like called at ./get.t lin ...

  4. Jsp java subroutine_Perl错误:无法修改非左值子例程调用(Perl error: Can't modify non-lvalue subroutine call at)...

    Perl错误:无法修改非左值子例程调用(Perl error: Can't modify non-lvalue subroutine call at) 我的班级出现以下错误:"无法在file ...

  5. Perl Learning 3 Subroutine

    [本文原创,转载请说明] 赶在期末了,后天就是第一门..这两天学的是子函数的用法. 要定义你自己的子程序,可使用关键字sub.子程序名(不包含与号)以及用花括号封闭起来的代码块,这部分代码就是子程序的 ...

  6. Learning Perl(Perl语言入门)学习笔记(3)

    第四章 子例程   1.  子例程(subroutine)即用户自定义函数,子例程调用时通常在子例程名前加上"&"符号:子例程名属于独立的命名空间: 2.  子例程可以在程 ...

  7. Perl 教学 子程序

    一.定义   子程序即执行一个特殊任务的一段分离的代码,它可以使减少重复代码且使程序易读.PERL中,子程序可以出现在程序的任何地方.定义方法为:   sub subroutine{     stat ...

  8. 开发日记-20190708 关键词 读书笔记 《Perl语言入门》Day 5

    Preface 进度两章,看来搞定这本书真的是需要话一些时间的.十天左右吧.怪我没弄实体书呗. Content 我们已见过并用过一些内置的系统函数,像chomp,reverse和print等. 但是, ...

  9. perl学习4--调用子程序

    #!/usr/bin/perl -w sub sum_of_fred_and_barney {   print "Hey,you called the sum_of_fred_and_bar ...

最新文章

  1. 第十二课.sklearn决策树实验
  2. Ubuntu 常用命令收集
  3. input 换行_Python输出数据print,获取输入数据input,基础入门
  4. UltraEdit的使用方法
  5. WebApi和MVC的区别
  6. SpringCloud Zuul(九)之路由自动刷新原理
  7. Eclipse GCC 入门
  8. git 配置origin_GitHub/Git配置与简单的使用
  9. stone 的 log4j配置详解
  10. Linux内核 eBPF基础:ftrace基础-ftrace_init初始化
  11. Jar mismatch! Fix your dependencies的问题(转)
  12. ajax发送html标识,如何在jQuery的.ajax函数中正确转义作为数据发送的html
  13. 利用Exchange 2003实现移动办公新体验
  14. FusionAccess桌面云模板制作
  15. 电脑版微信头像无法显示并且不能显示表情
  16. Collection集合层次结构图
  17. 视频照片合成软件哪个好?快速把手机照片做成视频,简单操作,效果精美!
  18. Kubernetes Krew简介
  19. Error: open failed in procedure ‘program‘ ** OpenOCD init failed ** shutdown command invoked
  20. laravel-admin 批量操作

热门文章

  1. 电阻/电抗/阻抗/电导/电纳/导纳
  2. 手机获取短信验证码登陆
  3. 中国互联网创业工具库startup tool【转】
  4. 语言编程中的疑惑及感悟
  5. mysql数据库建站教程视频,Mysql数据库基础入门(附视频教程)
  6. iOS模仿京东商城中的选择地区样式
  7. Java多线程和多进程的优缺点
  8. 华为nova3计算机怎么算汇率,华为阅读兑换码
  9. 专访微软研究院俞栋:基于深度学习的语音识别及CNTK的演进
  10. AD19原理图绘制_学习笔记