perl笔记

发布 2021-05-13 00:21:28 阅读 3004

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 运用本课程所...