Subroutine 子程序 Perl 第四章
子程序的定义是全局的,不需要事先声明。若重复定义子程序,后面的覆盖前面的。
sub marine {
$n +=1;
print " Hello ,sailor number $_ ! ";
}
调用:&marine;
返回值:最后一次的运算结果会被当作返回值。
变量:所有变量默认为全局变量
参数:@_为subroutine 的私有变量。若恰有全局变量@_ 则调用子程序时存起,子程序结束会自动恢复。
$_[0] $_[1] $_[2] ...存于数组变量@_
sub max {
if (@_ != 2) { print " “};
if ($_[0] > $_[1]) {
print " ";
}
}
&max(13,29) ;
example2:
$maxmun = &maxh(2,8,32,44,9);
sub maxh {
my ($max_so_far) = shift @_ ;
foreach (@_) {
if ($_ > $max_so_far) { $max_so_far = $_ };
}
$max_so_far;
}
私有变量: my
sub max {
my ($m,$n) = @_ ; #子程序私有变量;和子程序外的世界互不相犯
}
作用域受限于定义它的最内层语句块/文件 #语句块为foreach等。
my 操作不会改变赋值时的上下文
my ($num) = @_ ; # 列表上下文 等同于 ($num) = @_
my $num = @_ ; #标量上下文 等同于 $num = @_
my $fred,$baney # 错,没有声明$baney
return:立即停止执行,并返回某值。
sub which {
foreach ( ) {
if ( ) {
return $_;
}
}
return -1 ; #或省略return 指查无此值,没有找到符合条件的元素
}
省略&号:
和内嵌函数同名时,不能省略&。 比如自定义一个函数chomp() ,调用时必须使用&chomp
非标量返回值:
sub listx {
if ($a < $b) {
$a..$b
} else {
reverse $a..$b
}
@c = &listx(11,6) ;# 11,10,9,8,7,6
持久性私有变量:state 多次调用子程序期间,保留该变量每次的值。适用于未定义的全局变量这种情况,my私有变量每次调用结束,就会抛弃存值。
转载于:https://www.cnblogs.com/lelin/p/11206190.html
Subroutine 子程序 Perl 第四章相关推荐
- 第四章 Rails 背后的 Ruby
第四章 Rails 背后的 Ruby 有了第三章中的例子做铺垫,本章将为你介绍一些对 Rails 来说很重要的 Ruby 知识.Ruby 语言的知识点很多,不过对一个 Rails 开发者而言需要掌握的 ...
- 计算机组成原理第04章在线测试,计算机组成原理第四章单元测试(二)(含答案).docx...
PAGE PAGE 1 第四章存储系统(二)测试 书生 1.32位处理器的最大虚拟地址空间为 ????A.2G ????B.4G ????C.8G ????D.16G 2.在虚存.内存之间进行地址变换 ...
- 第四章语法分析和语法分析程序
第四章语法分析和语法分析程序 4.1_自顶向下的语法分析 4.1.1_自顶向下分析过程的基本特点 ①消除文法直接左递归 ②回溯的消除及LL(1)文法 4.1.2_递归下降法 4.1.3_预测分析法(也 ...
- 【Java数据结构与算法】第四章 栈实现综合计算器
第四章 栈实现综合计算器 文章目录 第四章 栈实现综合计算器 一.栈 1.介绍 2.应用场景 3.思路 4.代码实现 二.综合计算器 v1.0 1.思路 2.代码实现 三.前缀.中缀和后缀表达式规则 ...
- 第四章 构建LAMP网站平台、部署企业应用
防伪码:教诲如春风,师恩似海深,桃李满天下,春晖遍四方 第四章.LAMP平台部署及应用 本章主要讲解PHP运行环境的构建+部署使用phpMyAdmin+扩展实验(搭建企业网站) 一.LAMP平台概述 ...
- itpt_TCPL 第四章:函数和程序结构
2016.08.30 – 10.09 个人英文阅读练习笔记(极低水准). 08.30 第四章:函数和程序结构 函数能够将大型的计算任务分解为多个小型的计算任务,并且程序员还能够利用别人已经编写好的函数 ...
- 第四章web服务器之httpd
文章目录 第四章 web服务器 1.1 www简介 1.1.1 网址及HTTP简介 1.1.2 HTTP协议请求的工作流程 1.2 www服务器的类型 1.2.1 仅提供用户浏览的单向静态网页 1.2 ...
- 读书笔记:汇编语言 第三版 王爽 清华出版社 前言 章一 章二 章三 章四 章五
汇编语言 第三版 王爽 清华出版社文档记录创建 2020年8月9日15:21:11初稿完成 2020年9月5日15:38:22前言汇编语言,CPU提供的机器指令的助记符的集合不同处理器,机器指令可能不 ...
- 计算机组成置NVCZ为零,《计算机组成原理》第3版PPT电子课件教案-第四章 指令系统.ppt...
第 四 章 指 令 系 统 P127 本章介绍指令的一般格式和指令寻址方式.指令分类等. 4.1 指令系统的发展与性能要求 程序:是由一系列的指令序列组成, 解决某一具体问题. 指令:是计算机硬件系统 ...
最新文章
- 如何创建systemd定时任务
- 安卓当下最流行的吸顶效果的实现(转)
- 紘康单片机_紘康HY11P14 - SOC芯片 - 产品展示 - SOC芯片_IC芯片pcba开发_深圳市联泰威电子有限公司...
- php window.onload,window.onload 触发时机问题
- DOMContentLoaded与load的区别
- [FLASH_AS]Flash as3 addEventListener事件监听传递参数
- 125.数据传输方式
- 鸟哥的Linux私房菜(基础篇)- 一个简单的 SPFdisk 分割实例
- 一段把mp4中的音频提取并保存在原目录的python脚本
- 日志处理两大生态Splunk和ELK深度对比
- SOAP HTTP绑定
- leetcode - Balanced Binary Tree
- 基于半同步/半反应堆线程池实现的HTTP解析服务端程序
- php程序控制结构,PHP 控制结构
- MVC 特性使用总结
- flink源码分析_Flink源码分析之深度解读流式数据写入hive
- opsForValue() 的 set 用法
- html地址选择器,你应该知道的五种地址选择器
- 论文阅读:Reducing Transformer Depth On Demand With Structured Dropout
- 我是怎么从一家小公司通过社招去了阿里?