• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >perl > Perl函数(子程序)学习笔记

Perl函数(子程序)学习笔记

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了Perl函数(子程序)学习笔记等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

一、函数定义

子程序即一段分离的代码,它可以使减少重复代码且程序易读.perl中,子程序可以出现在程序的任何地方.但一般放在程序的开始或结尾.

sub subroutine{
    statements;
}
</div>

sub开始,子程序名同变量的命名规则,可与变量同名,最好不要与内部函数同名,如果与内部函数同名则用$subroutine区分,不用&是内部函数,用&是定义函数,但省略&时混淆.

带有原型说明的子程序定义:

sub subroutine($$){   #需要两个简单变量的参数
    statements;
}
</div>

说明:

1.()中的符号表示参数的类型,以一个字符表示一个参数.
2.$ 简单变量   @ 列表  % 散列  & 匿名子程序   * 引用
3.前加\为强制类型一致,;分隔必须的参数和可选参数.
4.\@$;$表示第一个参数为列表,第二个参数为简单变量,第三个参数简单变量可选.

二、函数返回值

1.缺省子程序中最后执行的一个语句的值将用作返回值,如果在if块中为最后执行的语句,虽然不是子程序的最后一句,也是返回值.

$a=1;
</div>

不用等于,直接$retval;

split(/:/,@a) 返回数组.
</div>

2.语句return(retval) 退出子程序并返回值retval,retval可以为列表.

3.返回错误

return 返回错误undef

用eval(‘subroutine') 函数,错误由$@变量中取得.

三、函数参数传递

形式:

$sub1($num1,$unm2,$num3);     调用
sub sub1{
my($num1,$unm2,$num3)=@_;
}
my $num1=shift;
my $num2=shift;
my $num3=pop;
</div>

说明:

1.所有参数在数组@_中,每个元素为$_[0],$_[1]
2.@_,$_[]为局部变量,当子程序内再调用子程序时,@_不改变,会新生成另一份@_.
3.改变@_内元素的值如$_[0]会改变主程序的参数值.
4.shift pop 一次取一个参数.对@_操作,shift取第一个参数,然后删除,pop取最后一个参数再删除.

</div>

您可能想查找下面的文章:

相关文章

  • perl引用的相关知识分享
  • perl用{}修饰变量名的写法分享
  • perl Socket编程实例代码
  • 使用Perl创建指定编码格式(如utf-8)文件的实现代码
  • perl中srand()与time的函数使用方法介绍
  • perl中heredoc使用说明
  • perl use 命令中指定路径的方法
  • perl面向对象实例
  • PERL脚本 学习笔记
  • perl操作符详细说明

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Perl文件读取的经典用法分享
    • Perl与JS的对比分析(数组、哈希)
    • 求婚示爱的Perl代码之注释篇
    • perl常量、多维数组及变量的初始化的实例代码
    • 探索Perl的世界(更新到40集)-Perl视频教程
    • Perl中处理时间的几个函数
    • Perl使用File::Basename获取文件扩展名的代码
    • Perl访问MSSQL并迁移到MySQL数据库脚本实例
    • Perl使用Tesseract-OCR实现验证码识别教程
    • Perl内置特殊变量总结

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有