perl笔记:01、变量。
字符型变量和数值型变量。
数值型变量可以直接用 3*8 ,7+9的方式来书写。
字符型变量的连接可以使用点(.)操作符,如 "abcd"."xxxx"等同于"abcdxxxx"
字符型变量可以内嵌到其他的字符型变量中,但要求的字符串必须用双引号来括起的形式,单引号的不能够内嵌。
如 :zyq="zhouyueqiu"
name="my name is $zyq"
注意:如果$zyq没有赋值,那么将用空来代替。
if控制结构。
一旦能比较两个值时,就希望能根据这些比较结果作判断。和别的语言类似,perl中也提供了 if控制结构:
if($namegt'fred')
print"'$name' comes after 'fred' in sorted order.";
如果需要另一种选择,可以使用关键字else:
if($namegt'fred')
print"'$name' comes after 'fred' in sorted order.";
elseprint"'$name' does not come after 'fred'.";
print" maybe it's the same string, in fact.";
boolean 值。
在if控制结构的条件判断部分可以使用任意的标量值。这在某些时候将很方便,如:
is_bigger=$namegt'fred';
if($is_bigger)
dosomething
那么,perl 是怎么判断其值得true 或 false呢?perl不同于其它的一些语言, 它没有boolean 类型。它利用如下几条规则。
数字0 是false;其余为真。
如果值为字符串,则空串(''为false;其余为真。
如果值的类型既不是数字又不是字符串,则将其转换为数字或字符串后再利用上述规则。
用户输入。现在,可能想你的 perl 程序怎样才能从键盘上得到输入呢?有一种简单方法:
使用行输入操作符(line-input operator),是行输入运算符对文件句柄stdin的操作。但直到第五章才介绍文件句柄。
作为标量值来使用的,perl 每次从标准输入中读入文本的下一行,将其传给。标准输入可以有很多种;
默认的是键盘。如果还没有值输入,perl 会停下来等你输入一些字符,由换行符结束(return)。
坦白讲,是你的系统等待输入,perl等待你的系统。具体的细节与机器和配置有关。由于是系统而非 perl 控制你的输入,因此要更正错误的输入通常可以在按下回车前使用退格键(backspace) 。
如果想更多的控制输入,可以使用 term::readline 这个模块。
中的字符串通常由一个换行符作为结尾。因此,可以如下操作:
例外的情况是,标准输入流在行中间就结束了。当然,普通的文本文件通常不是这样。
例1-1#!/usr/bin/perl
print"please input you name:";
name=;
if($nameeq"")
print"please input your name!";
elseprint"you name is :$name";
chomp函数。
chomp函数,可以去掉变量中最后的换行符。
如下例:text="a line of text" ;#也可以由输入。
chomp($text); #去掉换行符()。
这是将字符串末尾换行符去掉的最好方法。
基于 perl 中的一条基本原则:在需要使用变量的地方,可以使用赋值表达式来代替。
我们有更简单的使用 chomp的方法。perl 首先做赋值运算,再使用这个变量。因此。
使用chomp的最常用方法是:
chomp ($text = #读入,但不含换行符。
text =
chomp ($text); #同上,但用两步完成。
chomp是一个函数。作为一个函数,它有一个返回值,为移除的字符的个数。这个数字基本上没什么用:
food=;
betty=chomp $food; #得到值1
如上,在使用 chomp 时,可以使用或不使用括号() 这又是 perl 中的一条通用规则:除非移除它们时含义会变,否则括号是可以省略的。
while控制结构。
和许多的程序语言一样,perl 也提供了循环结构。while语句可以循环执行其内部的一块**直到其条件非真:
count=0;
while($count<10)
qw[ fred barney betty willma dino ]
qw< fred barney betty willma dino >
最后四行所示,与前面的三个略有不同,如果起始定界符是偶中“左”字符,则结尾的定界符就是相应的“右”字符。如果是其他符号则前后定界符必须相同。
如果qw中需要有定界符的出现,可以使用反斜线转义一下,如下:
qw!fred barney \!betty willma dino!
下面的例子是保护一连串unix文件名的列表:
qw{usr/dict/words
home/rootbeer/install
列表的赋值。
$fred,$barney,$dino)=(a","b",undef); # 相当于做了3次独立的赋值操作。
$fred,$barney)=(barney,$fred); # 互换两者的值。
$fred,$barney)=qw< a b c d e> # 丢弃c、d、e
$fred,$barney)=qw< a > # $barney被赋值为undef
pop和push操作符。
Perl常用函数集锦
最近在研究 perl 发现 perl 的确如 larry wall 所说 是一门极其有趣的语言 然而,perl 的价值远不止于此 perl对真实生活的反映 他的人性特征 是内建于这门语言的深厚的哲学结构。perl是第一个后现代的计算机语言,wall说,一个人造自然语言,模拟了程序员是如何思考的 可以...
perl期末考试大作业
perl程序设计课程考核。院系部门 生物信息学院。学生专业 生物信息专业 学生学号 学生姓名 彭莉 2011年6月。perl程序设计课程考试大作业。设置目的 1 贯彻实施高等教育的质量工程,深化教学改革,对本课程考试实施改革,以课程大作业形式取代原有的卷面考试 2 运用本课程所学知识,掌握perl和...
perl期末考试大作业
perl程序设计课程考核。院系部门 生物信息学院。学生专业 生物信息专业 学生学号 2009212256 学生姓名 彭莉 2011年6月。perl程序设计课程考试大作业。设置目的 1 贯彻实施高等教育的质量工程,深化教学改革,对本课程考试实施改革,以课程大作业形式取代原有的卷面考试 2 运用本课程所...