perl语言入门总结-第4章-子程序
子程序定义和返回值
sub sum{
print "调用了子程序\n";
$a + $b; #后一行为返回值
}
$a=;
$b=;
$s =∑ #34 调用子程序
子程序中的参数,参数固定(下面例子只能2参数),程序第一个参数为$_[0],第二个为$[1],依次类推
sub max {
if($_[] > $_[] ){
$_[];
}else{
$_[];
}
}
$n = & max(,); #结果为15
子程序中私有变量
sub max {
my($m,$n) = @_;
}
限制参数长度
sub max{
if(@_ != ){
print "waring! &max arguments not match"
}
}
变长参数列表
sub max {
my($max_num) = shift @_; #数组中的第一个值
foreach (@_){
if($_ > $max_num){
$max_num = $_;
}
}
$max_num;
}
$maximum = &max(,,,,,);
print $maximum
关于my变量
my($num) = @_; #列表上下文
my $num = @_; #标题上下文
my(a,b) = @_;
最好使用 use strict;
use 5.012 #自动加载strict编译指令
return操作符
如果像在子函数,foreach提前结束可使用return操作符。
省略&与号
一般情况可省略, 如果像定义了与内置函数同名,如chomp,则不能省略,调用必需为&chomp;
非标题返回值
sub sum{
..;
}
持久性私有变量state , 如果在strict模式下,使用全局变量会报错。
use strict;
use feature qw(state); sub marine{
state $n = ;
$n += ;
print "$n\n";
} &marine; #
&marine; #
&marine; #
perl语言入门总结-第4章-子程序的更多相关文章
- Perl语言入门:第六章习题:处理用户所指定的名字并汇报相应的姓。
37 print "\n----------------------------------_exercise_6_1--------------------------\n"; ...
- perl语言入门总结-第5章-输入输出
读取标准输入 chomp($line = <STDIN>); #去掉后面的换行 while (defined($line = <STDIN>)) { print "I ...
- perl语言入门总结-第3章-列表与数组
1-列表list指的是标题的有序集合, 而数组(array)则是存储列表的变量. 更精确地说,列表指的是数据,而数组指的是变量. 访问数组中的元素 ] = "yabba"; ] = ...
- perl语言入门总结-第2章
$what ='steak'; print "fred ate $n ${what}s.\n"; 布尔值 如果是数字0为假, 如果是空字符串''为假, 如果即不是数字也不是字符串, ...
- Perl语言入门:第七章习题:输出文件中包含一个大写字母的所有行,不输出一行的内容全是大写的
文件内容: bash-2.03$ cat file_4_ex_ch7.txt anonymous attribute demolition grammar rules indices refernce ...
- Perl语言入门: 斜线不是元字符,所以在不作为分隔符时不需要加上反斜线。
Perl语言入门: 斜线不是元字符,所以在不作为分隔符时不需要加上反斜线.
- Perl语言入门(中文版)(第6版) 东南大学出版社
第一章简介 问题与答案 这本书适合你吗? 为何有这么多的脚注? 关于习题和解答? 习题前标的数字是什么意思? 如果我是Perl讲师? “Perl”这个词表示什么意思? Larry为什么要创造Perl? ...
- Perl语言入门14-17
---------第十四章 字符串与排序------------------- index查找子字符串 my $stuff = "howdy world!"; my $where ...
- Perl 语言入门1-5
第一章 简介 perl -v 文字处理,编写小型CGI脚本(Web服务器调用程序)的最佳语言 CPAN: Perl综合典藏网 shebang: #! /usr/bin/perl 或#! /usr/lo ...
随机推荐
- 微信小程序实战篇:商品属性联动选择(案例)
本期的微信小程序实战篇来做一个电商网站经常用到的-商品属性联动选择的效果,素材参考了一点点奶茶. 效果演示: 商品属性联动.gif 代码示例 1.commodity.xml <!-- < ...
- 【Android学习入门】Android中activity的启动模式
启动模式简单地说就是Activity启动时的策略,在Androidmanifest.xml文件中的标签android:launchMode属性设置,在Android中Activity共有四种启动模式分 ...
- SaaS “可配置”和“多租户”架构的几种技术实现方式
1.数据存储方式的选择 多租户(Multi-Tenant ),即多个租户共用一个实例,租户的数据既有隔离又有共享,说到底是要解决数据存储的问题. 常用的数据存储方式有三种. 方案一:独立数据库 一 ...
- intel Skylake平台安装WIN7
目前针对IntelSkylake平台安装WIN7时USB接口失灵的问题,不少硬件厂商都推出了免费修改工具来集成XHCI USB控制器驱动,这其中技嘉提供了一款Windows USB Installat ...
- ansible使用6-Conditionals
when tasks: - name: "shutdown Debian flavored systems" command: /sbin/shutdown -t now when ...
- 如何在js中获取到服务器端控件并给其赋值
如下所示:lbID为服务器端控件ID document.getElementById('<%=lbID.ClientID%>').value = "赋值";
- Element-ui安装与使用(网站快速成型工具)
我之所以将Element归类为Vue.js,其主要原因是Element是(饿了么团队)基于MVVM框架Vue开源出来的一套前端ui组件.我最爱的就是它的布局容器!!! 下面进入正题: 1.Elemen ...
- oracle-插入到数据库中为日期
oracle中创建一个表,其中一个字段为date,当我们进行插入操作 create table xf_allsalestotal ( xf_txdate date not null, xf_store ...
- 初识Python(四)
一.数字数据类型 Python的数字数据类型用于存储数值,它是不可变的数据类型,这意味着改变数字数据类型,则需要一个新分配的对象: Python支持四种不同的数值类型: 整型(Int):通常被称为是整 ...
- MySQL入门很简单: 15 java访问MySQL数据库
1. 连接数据库 1.1 下载安装驱动 java通过JDBC(Java Database Connectivity,Java数据库连接)来访问MySQL数据库.JDBC的编程接口提供的接口和类与MyS ...