Perl语言学习笔记 10 其他控制结构

1、unless控制结构

条件为假时执行,与if相反

可以附带else

2、Until控制结构

条件为假时执行,一直执行到条件为真;

3、条件修饰词

效果等同于:

类似的模式:

4、裸块控制结构

{

body;

body;

....

}

有利于为临时变量圈定有效范围

5、elsif子句

6、自增、自减

同c语言

7、for

用法同c语言

8、for与foreach

在perl中,两者等价,优先选择纯正的foreach

9、5种循环块:for、foreach、while、until、裸块

last 等效于C语言中的break,next等效于c语言中的continue

redo:重新执行本次迭代

10、带标签的块

将标签及一个冒号放在循环的前边,标签建议全大写;

标签用来命名整块代码,需要的时候在last、next、redo后边加上这个标签。

11、三目操作符

?: :条件表达式?真表达式:假表达式

可以写出多路分支:

12、逻辑操作符

&&、||:与C语言用法一致

13、短路操作符

如果“||”左边的值为假,则将右边的值赋给$last_name;

14、“定义否”操作符://

如果“||”左边的值本身就是假值,则无法正确赋值;

不管“//”左边的值是真还是假,只要已经定义,就赋值给$last_name;

15、单词写法

逻辑与(&&、and)、逻辑或(||、or)

Perl语言学习笔记 10 其他控制结构

时间: 2024-10-05 02:53:46

Perl语言学习笔记 10 其他控制结构的相关文章

Perl语言学习笔记 9 正则表达式处理文本

1.替换 s/PATTERN/REPLACE/; #返回是否替换成功的布尔值 可以使用捕获变量,如:s/(\w)/$1/ 匹配失败则不做任何处理 2.定界符 对于没有左右之分的定界符,重复三次即可,如:s///.s### 对于有左右之分的定界符,需使用两对,一对包含模式,一对包含替换字符串,这两对可以不一样,如:s{}{}.s[]{}.s<>[] 3.可选修饰符 /g可进行全局替换,替换所有匹配到的字符串,如:s/ / /g /s:使得 . 匹配所有字符 /i:大小写无关 4.绑定操作符 $f

Perl语言学习笔记 6 哈希

1.哈希的键是唯一的,值可以重复! 2.访问哈希元素 $hashname{"$key"};#哈希为大括号,数组为方括号,键为字符串 $family_name{"fred"} = "firstd";#给哈希元素赋值 3.哈希键支持任意表达式 $foo = "na"; $family_name{$foo."me"};#获取$family_name{"name"}对应的值 4.访问整个哈希 %

Perl语言学习笔记 day 1

1.Perl Practical Extraction and Report Language:实用摘录与报表语言 2.多行注释 (1) =需要顶格写 = description statement; =cut (2)末尾的description需要顶格写 <<description; print "Hello,world!\n"; description 3.数字: 所有数字在Perl内都以双精度浮点数格式存储; 5**3:5*5*5: 4.字符串: 最短的字符串为空字符

Perl语言学习笔记 11 Perl模块

1.模块来源:随Perl发行版本一起打包.从CPAN下载 2.阅读模块文档:perldoc CGI 3.安装模块 makemaker方式: 指定安装目录: Module::build方式: cpan方式: 4.File::basename模块 5.仅选用模块的部分函数 导入引用列表即可 10.不引入任何函数 通过全名的方式使用: 11.File:Spec模块 12.CGI.pm 13.数据库与DBI DBI:数据库接口(Database Interface) 还需安装对应版本的数据库驱动程序DB

Perl语言学习笔记 day 2

1.在Perl中,子程序名与变量名属于不同的命名空间,可以使用同一个名字分别命名子程序和变量,但不建议这样使用. 2.子程序的定义是全局的,同名的子程序后边的会覆盖掉前边的定义. 3.定义子程序 sub subProgram{ #body } 4.调用子程序 &subProgram 5.所有的子程序都有返回值,默认最后一行的运算结果为返回值. 6.子程序未定义参数时,传递的参数默认传给"@_",可以通过$_[0].$_[1].....访问: 7.在子程序中创建私有变量 my($

Perl语言学习笔记 14 字符串与排序

1.字符串内用index搜索 $where = index($words,$word); ##从words里找到首次出现word的位置,下标从0开始,查找失败则返回-1: 指定开始搜索的地方:$where = index($words,$word,10); ##从10开始往后寻找,包含10 搜索子串最后出现的位置: 限定返回的最大位置:$where = rindex($words,$word,10); ##只搜索下标为10以前的字符. 2.处理子串 substr参数:依次为:字符串.起始下标.要

Perl语言学习笔记 13 目标操作

1.改变目录 chdir "/etc" or die "can't chdir to '/etc'!\n"; 省略参数会回到用户主目录,与cd效果一样: 2.文件名通配 my @all_files = glob "*"; #不包括以点号开头的文件 my @pm_files = glob "*.pm"; 一次匹配多种模式,用空格隔开:my @files = ".* *"; #可以匹配所有的文件,包括以点号开头

Perl语言学习笔记 15 智能匹配与give-when结构

1.智能匹配操作符 替代绑定操作符: 在哈希中查找某一个键: 比较两个数组是否完全相同: 查找列表中是否存在某个元素: 智能匹配操作符与顺序无关,~~ 左右元素可以互换 2.智能操作符优先级 3.given语句 相当于c语言的switch语句 4.given可以测试多个条件,在default前用break,否则会导致default一直执行 5.笨拙匹配(正则表达式方式) 6.多个项目的when匹配 可以在语句中间加上其他语句: Perl语言学习笔记 15 智能匹配与give-when结构,布布扣

Go语言学习笔记10

6.程序测试和文档 6.1程序测试 Go语言中提供了 go test 命令,它不仅仅可以对代码包进行测试,还可以对个别源码文件进行测试,只要存在针对这些测试的测试源码文件.除此之外,Go语言还在标准库中提供了一个专门用于测试的代码包 testing,它提供了编写测试源码文件所需的一切. 1.功能测试 测试源码文件总应该与被它测试的源码文件处于同一代码包内.在编写测试源码文件的时候,总是会用到标准库代码包 testing 中的 API.testing 包为Go语言的代码包提供了自动化测试支持.它的