Subroutine in Perl
子函数
- 子函数的定义
sub 子函数明{ #statement }, 子函数名如果重名,则后定义的覆盖前定义的,如果与系统函数名字则必须在子函数明前加&来显示的调用。 - 子函数的调用
一般在子函数名前加&调用,如果调用时,子函数已经在前面定义过则&可以省略。调用的时候函数参数没有限制。 - 子函数的参数
子函数通过数组@_来传递参数,参数也可以通过$_[0],$_[1]方式进行单个的引用。
my $param1 = shift @_; my ($param1 ,$param2, $param3) = @_; - 子函数的返回值
在未用return语句时,子函数的返回值为在函数中所执行的最后一条语句的执行结果。也可以用return语句显示的返回指定内容。返回值可以是 标量也可以是数组。根据在函数返回处的上下文环境决定。 - 子函数的变量
通过my可以定义子函数范围内的局部变量,my定义的变量的作用域在定义的语句块(文件)内。主义my定义的变量不要于系统变量重名比如$_,$a,$b之类的。
可以用stat来定义持久性私有变量。stat定义的变量,在函数多次调用的时候保存其以前的值,但其作用域限制在函数内
Subroutine in Perl相关推荐
- Subroutine 子程序 Perl 第四章
子程序的定义是全局的,不需要事先声明.若重复定义子程序,后面的覆盖前面的. sub marine { $n +=1; print " Hello ,sailor number $_ ! &q ...
- perl数组硬引用_perl引用和数组 - SibylY的个人空间 - OSCHINA - 中文开源技术交流社区...
一.引用 常见数据类型的引用定义: 数据类型 定义 举例 标量变量 \$Var $Point ...
- 执行perl时出现Undefined subroutine
对perl研究得不是很深,平时只是随便写写,最近一次,执行perl时,出现如下错误 Undefined subroutine &main::like called at ./get.t lin ...
- 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 ...
- Perl Learning 3 Subroutine
[本文原创,转载请说明] 赶在期末了,后天就是第一门..这两天学的是子函数的用法. 要定义你自己的子程序,可使用关键字sub.子程序名(不包含与号)以及用花括号封闭起来的代码块,这部分代码就是子程序的 ...
- Learning Perl(Perl语言入门)学习笔记(3)
第四章 子例程 1. 子例程(subroutine)即用户自定义函数,子例程调用时通常在子例程名前加上"&"符号:子例程名属于独立的命名空间: 2. 子例程可以在程 ...
- Perl 教学 子程序
一.定义 子程序即执行一个特殊任务的一段分离的代码,它可以使减少重复代码且使程序易读.PERL中,子程序可以出现在程序的任何地方.定义方法为: sub subroutine{ stat ...
- 开发日记-20190708 关键词 读书笔记 《Perl语言入门》Day 5
Preface 进度两章,看来搞定这本书真的是需要话一些时间的.十天左右吧.怪我没弄实体书呗. Content 我们已见过并用过一些内置的系统函数,像chomp,reverse和print等. 但是, ...
- perl学习4--调用子程序
#!/usr/bin/perl -w sub sum_of_fred_and_barney { print "Hey,you called the sum_of_fred_and_bar ...
最新文章
- 第十二课.sklearn决策树实验
- Ubuntu 常用命令收集
- input 换行_Python输出数据print,获取输入数据input,基础入门
- UltraEdit的使用方法
- WebApi和MVC的区别
- SpringCloud Zuul(九)之路由自动刷新原理
- Eclipse GCC 入门
- git 配置origin_GitHub/Git配置与简单的使用
- stone 的 log4j配置详解
- Linux内核 eBPF基础:ftrace基础-ftrace_init初始化
- Jar mismatch! Fix your dependencies的问题(转)
- ajax发送html标识,如何在jQuery的.ajax函数中正确转义作为数据发送的html
- 利用Exchange 2003实现移动办公新体验
- FusionAccess桌面云模板制作
- 电脑版微信头像无法显示并且不能显示表情
- Collection集合层次结构图
- 视频照片合成软件哪个好?快速把手机照片做成视频,简单操作,效果精美!
- Kubernetes Krew简介
- Error: open failed in procedure ‘program‘ ** OpenOCD init failed ** shutdown command invoked
- laravel-admin 批量操作