perl基本知识点整理
来源:互联网 发布:unity3d 5.3.2f1 破解 编辑:程序博客网 时间:2024/05/16 01:01
perl的注意事项
数字 0, 字符串 '0' 、 "" , 空 list () , 和 undef 为 false ,其他值均为 true。 true 前面使用 ! 或 not则返回 false 。
* 注释 * (hello.pl)
单行注释用 ‘#’
#我是被注释掉的
多行注释多数使用POD方式注释
=pod
要被注释的代码
=cut
**
以=pod开头,以=cut结尾
两者均要在行首
=cut后不能有其他字符
**
* 空白 * (hello.pl)
* 同一行内语句间的空白都会被视为一个进行处理* 空白和换行出现在字符串内,会照原样输出
* 输出 * (hello.pl)
* print 双引号和单引号,.可以连接字符串* 单引号输出 照原样输出* 双引号输出 会解析引号中的可以解析的相应语句* 支持printf();格式化输出
* 哈希&数组 * (hash.pl)
- 数组的定义和访问
- 数组的标量上下文返回数组大小
- 数组可以直接全部输出
- 允许下标为负数,负数时反向读取
print “@arr”; 数组的定义
@arr = (1,2,3,4,5);
print “$arr[0]”;哈希的定义和访问
- 哈希定义
%h = (‘name’=>ziv,’age’=>20); - 访问哈希
print “$h{‘name’}”; - 读取哈希
@arr = @h{name,age,sex}; - 读取哈希的全部键值
@str = keys %h; - 判断哈希是否存在
exists($hh{‘name’}); - 获取哈希大小 先通过获取所有的哈希键值的数组,数组大小即为哈希大小
@str = keys %h;
$size = @str; - 添加删除哈希
$h{‘new’}=’new’;
delete $h{‘name’};
- 哈希定义
数组操作函数
+ push(@arr,"str","",); #将列表的值添加到数组的最后 + pop(@arr); #弹出最后数组的最后一个元素 + shift(@arr); #弹出数组的第一个元素并将下标依次减小一 + unshift(@arr,"str","",); #将指定字符串添加到数组最前面 + 切割数组 @arr1 = @arr[1..4]; + 替换数组 splice(@arr,begin,length,"",""); + 数组排序 sort(); #默认以ascii码排序 + 合并数组 @str = (@str1,@str2);;
* 预定义的特殊字符 *
FILE,LINE,PACKAGE
直接输出,”“内无法解析
* 字符串*
- 字符串连接用.连接 $arr = hello.world;
- 字符串和数字也可以用.连接
- 标量之间也可以连接
- 将字符串转换为数组split(分隔符,字符串);
- 将数组转化为字符串join(连接符,数组或列表);
* 条件语句 *
- if(){条件为真时}
- if..else
- if..elsif..else
- unless(){条件为假时}
- unless..else
- unless..elsif..else
- switch
* 循环语句 * (loop.pl)
- while(){条件为假时停止}
- for(){}
- foreach $name(list){}
- until(){直到条件为真才停止}
do{先执行后判断}while()
* 循环控制语句 *
- next;#有continue{}块时进入continue,没有时相当于c中的continue
- last 相当于c中的break;
- continue{} 一般在循环天剑再次判断前执行
- goto goto loop
- redo; 直接跳到循环语句的第一句,redo之后的语句不再执行,再次判断前的continue也不执行。
* 运算符 * (operate.pl)
- 算数运算符 新增** 乘幂运算
- 逻辑运算符 新增 <=> 左边小返回-1,右边小返回1,相等返回0
字符串比较符
- lt 左边是否小于右边
- gt 左边是否大于右边
- le 左边是否小于等于右边
- ge 左边是否大于等于右边
- eq 左边是否等于右边
- ne 左边是否不等于右边
- cmp 左边大于右边 1,左边等于右边 0,左边小于右边 -1.
逻辑运算符
- and (相当于java中的&&),同时也支持&&
- or (相当于java中的||),同时也支持||
- not (相当于java中的!),同时也支持!
引号运算
- q 单引号
- qq 双引号
- qx 反单引号
赋值运算符
+=、-=、=、/=、%=、=、*=位运算符(二进制运算)
- & 且运算
- | 或运算
- ^ 亦或运算
- ~ 补码运算
- << 左移一位
其他运算符
- . 连接两个字符串
- .. 范围运算符
- x 重复运算符
- ++,– 自增自减
- -> 指定一类的方法
* 日期和时间 *
- time() 返回从1970年1月1日起积累的秒数
localtime() 返回当地时间(直接调用获取系统设置的当前时区的时间)
- sec 秒,0~61
- min 分钟,0~59
- hour 小时,0~24
- mday 天,1~31
- mon 月,0~11
- year 年,从1990年开始
- wday 星期几,0~6
- yday 一年中的第几天,0~364、365
- isdst 若夏令时有效则为真
gmtime() 返回格林威志时间,标准时间,0时区的时间
- strftime(),可以格式化时间,需要use POSIX qw(strftime);调用模块posix中的函数
perl
$datestring = strftime "%Y-%m-%d %H:%M:%S",localtime;
print "日期时间 $datestring\n";
#当前东八区与GMT时间相差8小时
$datestring1 = strftime "%Y-%m-%d %H:%M:%S",gmtime;
print "GMT日期时间 $datestring1\n";
* 子程序 * (subroutine.pl)
- 定义
sub subroutine(){
….;
} - 调用
subroutine(参数列表);#参数可以是标量,数组,哈希,或数值 - 注意
- @_ 数组中存的是子程序调用时传入的所有参数,只读,不可直接修改
- qw(); 用于分割字符串 @arr = qw(this is a example);#数组
- scalar(); 可简单理解为获取数组的长度
- 返回值,可以用return返回指定返回值,若不写,默认最后一行作为返回值,return后的语句将不会执
- 私有变量,变量声明前加my关键词,可同时声明多个私有变量
- 临时变量,local关键词,为全局变量提供临时的值,在退出作用域后变回原全局变量的值
- 静态变量,state关键词,存在时间更久,使用时要有
use feature ‘state’,声明数组和哈希时不能同时初始化
* 引用 * (quote.pl)
- perl的引用是一个标量类型,引用就是指针,可以指向数组,哈希,子程序,等等
- 创建时在被指向的数据类型前加”\“即可,$aref = \@arr;
- 创建匿名数组 $aref = [‘ziv’,21,’man’];
- 创建函数引用
$aref = \⊂
&$aref(参数列表); - 创建循环引用(慎用),$foo = \$foo;
- 取消引用,在引用前加上相应的符号即可
aref=\@arr;@ aref;- 可用ref();判断引用指向的类型
* 格式化输出 * (format.pl)
- 定义格式
perl
format _name =
格式行,定义格式
数据行,按照上一行的格式插入数据
。。
. #结束符
write; #输出 - 格式行
- @或^开头,之后跟若干个<,>,|
- < 表示左对齐,> 表示右对齐,| 表示中间对齐,他们的个数表示该字段的所占个数
- 不知一个字段的格式之间用空格隔开
- @###.## 用于输出固定格式的浮点数字,小数点前后的位数
- 格式变量
+\( FORMAT_NAME) :格式名字,指定write调用的format的默认值,初始值为STDOUT- $% ($FORMAT_PAGE_NUMBER) :当前输出的页号
- $= ($FORMAT_LINES_PER_PAGE) :每页中的行数
- $| ($FORMAT_AUTOFLUSH) :是否自动刷新输出缓冲区存储
- $^L ($FORMAT_FORMFEED) :在每一页(除了第一页)表头之前需要输出的字符串存储在
- 输出到其他文件中
write(file_name);
阅读全文
1 0
- perl基本知识点整理
- perl入门的基本知识点
- WCF_基本知识点整理
- 基本数据类型知识点整理
- 整理一下jQuery基本知识点
- 马哲基本知识点整理
- perl知识点
- (整理)关系型数据库基本知识点
- CSS3知识点整理(一)----基本样式
- CSS3知识点整理(一)----基本样式
- CSS3知识点整理(一)----基本样式
- CSS3知识点整理(一)----基本样式
- 图像处理基本知识点整理(matlab函数)
- Android 面试笔试集锦 --- 基本知识点 整理版(转)
- Android 面试笔试集锦 --- 基本知识点 整理版
- 1 关于JVM的基本知识点问题整理
- linux Xshell 命令符的基本知识点整理
- perl 知识点与应用
- 算法十三
- 《机器学习》读书笔记 4 第2章 模型评估与选择 二
- tomcat7最大并发数,等待连接数,最大连接数配置
- centos6.5 安装Git 及其使用
- 开始写博客
- perl基本知识点整理
- 算法系列——Simplify Path
- Unity+Behavior Tree行为树 Behavior Designer 行为树概述(一)
- Bootstrap的栅格化系统
- go的html模板替换
- 数据结构:图——图的遍历、最小生成树、最短路径算法
- c++---构建内存管理器
- nfs
- 1497: [NOI2006]最大获利