perl-two(2018-05-26)

第一二章

一、数字运算操作符 

+(加)、-(减)、*(乘)、/(除)、**(乘幂操作符)、%(取余)[也叫取模操作符(%)]

(1)乘幂的基数不能为负,如 (-5) ** 2.5 # error; 

(2)乘幂结果不能超出计算机表示的限制,如10 ** 999999 # error 

(3)取余的操作数如不是整数,四舍五入成整数后运算;运算符右侧不能为零 

二. 字符串操作符

1.句号操作符表示连接

"hello"."world"=="hello world"

2.重复操作符

小写字母:x(将左边的字符串重复多少次的操作符)

5 x 4.8==就是将5重复4次,5555

三. 变量

1.标量变量的特点

(1)使用魔符$开头,

(2)变量的perl标识符:使用字母或下划线开头,后接多个字母、数字或下划线。

(3)perl通过魔符来判断变量的使用用途,$的意思是取“取单个东西”或“取标量”;

(4)给变量取名一定要有一定辨识度,要尽量使用通用的名字。

(5)perl中的变量名字大部分只用全小写。

(6)标量变量的赋值,使用=进行赋值操作

(7)双目赋值操作符

第一种:$fred = $fred + 5;

               可以写成 $fred += 5;

第二种:使用字符串操作符"."改进的追加操作符(.=)

在末尾加个空格会这样写,$str = $str." ";

                                           $str .=" ";

(8)标量变量内插(也成为双引号内插)

如果标量变量没有被赋值过,那么使用后会用空字符串代替;

如果单纯打印变量的话,就不用写双引号;

如果变量后面要紧接着输出字母、数字或下划线时,要讲{变量}用花括号圈起来。不然会引起歧义;

用chr()函数将代码点转换成字符;用ord()函数将字符转换成代码点;

操作符的优先级问题要首先参考perlop参考文档进行定夺,另外在写代码的过程中,最好使用括号将确定的操作括起来,方便阅读;

(9)if条件控制结构

条件语句的代码块周围一定要加上花括号来表示界限;

还要注意一定要加上缩排,是代码看起来整洁。

if($name gt 'fred'){

     print "'$name' comes after 'fred' in sorted order.\n";

}else{

    print "'$name' does not come after 'fred'.\n";

    print "Maybe it's the same string,in fact.\n";

}

(10)布尔值

没有专门的布尔值来进行判断,可根据一些规则来判断

第一点:如果是数字,那么返回时数字0是假,其他数字都为真;

第二点:如果是字符串。那么返回空字符串是假,所有其他字符串都为真;

第三点:如果不是数字和字符串,那么就需要先转换成数字和字符串在做判断。

(11)chomp操作符

只作用于单个变量,并且该变量的内容必须是字符串,如果字符串的尾端有换行符时,chomp的作用就是去掉它;

perl的惯例,除非去掉括号会改变内容的原意,不然就不用加括号多此一举;

如果字符串结尾处有两个以上换行符,chomp仅仅删除一个;如果没有换行符,会返回零。

(12)While控制结构

perl也有好几种循环结构,在while的循环体中,只要条件持续为真,那么就会不断执行代码块。


代码块


运行结果

(13)undef值

在变量赋值之前,初始值是undef(未定义)值;

undef是另一种类型的标量值;

(14)defined函数

行输入操作符<STDIN>有时候会返回undef值,要判断某个字符串是undef不是空字符串,使用这个函数,如果是字符串则会返回真,如果是undef则会返回假。

二、整数比较操作符 

Table 3.1. 整数比较操作符 

操作符 描述 

< 小于 

> 大于 

== 等于 

<= 小于等于 

>= 大于等于 

!= 不等于 

<=> 比较,返回 1, 0, or -1 

操作符<=>结果为: 

0 - 两个值相等 

1 - 第一个值大 

1 - 第二个值大 

三、字符串比较操作符 

Table 3.2. 字符串比较操作符 

操作符 描述 

lt 小于 

gt 大于 

eq 等于 

le 小于等于 

ge 大于等于 

ne 不等于 

cmp 比较,返回 1, 0, or -1 

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,635评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,543评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,083评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,640评论 1 296
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,640评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,262评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,833评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,736评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,280评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,369评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,503评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,185评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,870评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,340评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,460评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,909评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,512评论 2 359

推荐阅读更多精彩内容