perl教程Word文档格式.docx

上传人:b****6 文档编号:20232841 上传时间:2023-01-21 格式:DOCX 页数:83 大小:84.18KB
下载 相关 举报
perl教程Word文档格式.docx_第1页
第1页 / 共83页
perl教程Word文档格式.docx_第2页
第2页 / 共83页
perl教程Word文档格式.docx_第3页
第3页 / 共83页
perl教程Word文档格式.docx_第4页
第4页 / 共83页
perl教程Word文档格式.docx_第5页
第5页 / 共83页
点击查看更多>>
下载资源
资源描述

perl教程Word文档格式.docx

《perl教程Word文档格式.docx》由会员分享,可在线阅读,更多相关《perl教程Word文档格式.docx(83页珍藏版)》请在冰豆网上搜索。

perl教程Word文档格式.docx

目录/perl5

欧洲

Site

Location

ftp.cs.ruu.nl

131.211.80.17

目录/pub/PERL/perl5.0/src

ftp.funet.fi

128.214.248.6

目录/pub/languages/perl/ports/perl5

ftp.zrz.tu-berlin.de

130.149.4.40

目录/pub/unix/perl

src.doc.ic.ac.uk

146.169.17.5

目录/packages/perl5

澳洲

sungear.mame.mu.oz.au

128.250.209.2

南美

ftp.inf.utfsm.cl

146.83.198.3

目录/pub/gnu

三、运行

用文本编辑器编辑好你的Perl程序,加上可执行属性:

$chmod+x<

program>

就可以执行了:

$./<

如果系统提示:

"

/usr/local/bin/perlnotfound"

,则说明你没有安装成功,请重新安装。

你的程序的第一行必须为#!

/usr/local/bin/perl(perl所在位置)。

四、注释:

注释的方法为在语句的开头用字符#,如:

#thislineisacomment

建议经常使用注释使你的程序易读,这是好的编程习惯。

Perl5教程--第二章简单变量

基本上,简单变量就是一个数据单元,这个单元可以是数字或字符串。

一、整型

1、整型

PERL最常用的简单变量,由于其与其它语言基本相同,不再赘述。

例:

$x=12345;

if(1217+116==1333){

#statementblockgoeshere

}

整型的限制:

PERL实际上把整数存在你的计算机中的浮点寄存器中,所以实际上被当作浮点数看待。

在多数计算机中,浮点寄存器可以存贮约16位数字,长于此的被丢弃。

整数实为浮点数的特例。

2、8进制和16进制数

8进制以0打头,16进制以0x打头。

$var1=047;

(等于十进制的39)

$var2=0x1f;

(等于十进制的31)

二、浮点数

如11.4、-0.3、.3、3.、54.1e+02、5.41e03

浮点寄存器通常不能精确地存贮浮点数,从而产生误差,在运算和比较中要特别注意。

指数的范围通常为-309到+308。

#!

/usr/local/bin/perl

$value=9.01e+21+0.01-9.01e+21;

print("

firstvalueis"

$value,"

\n"

);

$value=9.01e+21-9.01e+21+0.01;

secondvalueis"

---------------------------------------------------------

$program3_3

firstvalueis0

secondvalueis0.01

三、字符串

惯用C的程序员要注意,在PERL中,字符串的末尾并不含有隐含的NULL字符,NULL字符可以出现在串的任何位置。

.双引号内的字符串中支持简单变量替换,例如:

$number=11;

$text="

Thistextcontainsthenumber$number."

;

则$text的内容为:

Thistextcontainsthenumber11."

.双引号内的字符串中支持转义字符

Table3.1.Escapesequencesinstrings.

EscapeSequence

Description

\a

Bell(beep)

\b

Backspace

\cn

TheCtrl+ncharacter

\e

Escape

\E

Endstheeffectof\L,\Uor\Q

\f

Formfeed

\l

Forcesthenextletterintolowercase

\L

Allfollowinglettersarelowercase

\n

Newline

\r

Carriagereturn

\Q

Donotlookforspecialpatterncharacters

\t

Tab

\u

Forcenextletterintouppercase

\U

Allfollowinglettersareuppercase

\v

Verticaltab

\L、\U、\Q功能可以由\E关闭掉,如:

$a="

T\LHISISA\ESTRING"

#sameas"

ThisisaSTRING"

.要在字符串中包含双引号或反斜线,则在其前加一个反斜线,反斜线还可以取消变量替换,如:

$res="

Aquote\"

andAbackslash\\"

$result=14;

print("

Thevalueof\$resultis$result.\n"

)的结果为:

Thevalueof$resultis14.

.可用\nnn(8进制)或\xnn(16进制)来表示ASCII字符,如:

$result="

\377"

#thisisthecharacter255,orEOF

\xff"

#thisisalso255

.单引号字符串

单引号字符串与双引号字符串有两个区别,一是没有变量替换功能,二是反斜线不支持转义字符,而只在包含单引号和反斜线时起作用。

单引号另一个特性是可以跨多行,如:

$text='

Thisistwo

linesoftext

'

与下句等效:

$text="

Thisistwo\nlinesoftext\n"

.字符串和数值的互相转换

例1:

$string="

43"

$number=28;

$result=$string+$number;

#$result=71

若字符串中含有非数字的字符,则从左起至第一个非数字的字符,如:

hello"

*5;

#$result=0

12a34"

+1;

#$result=13

.变量初始值

在PERL中,所有的简单变量都有缺省初始值:

,即空字符。

但是建议给所有变量赋初值,否则当程序变得大而复杂后,很容易出现不可预料且很难调试的错误。

Perl5教程--第三章操作符

一、算术操作符:

+(加)、-(减)、*(乘)、/(除)、**(乘幂)、%(取余)、-(单目负)

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

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

(3)取余的操作数如不是整数,四舍五入成整数后运算;

运算符右侧不能为零

(4)单目负可用于变量:

-$y;

#等效于$y*-1

二、整数比较操作符

Table3.1.整数比较操作符

操作符

描述

<

小于

>

大于

==

等于

=

小于等于

大于等于

!

不等于

=>

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

操作符<

结果为:

0-两个值相等

1-第一个值大

1-第二个值大

三、字符串比较操作符

Table3.2.字符串比较操作符

 

lt

gt

eq

le

ge

ne

cmp

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

四、逻辑操作符

逻辑或:

$a||$b或$aor$b

逻辑与:

$a&

&

$b或$aand$b

逻辑非:

$a或not$a

逻辑异或:

$axor$b

五、位操作符

位与:

位或:

|

位非:

~

位异或:

^

左移:

$x<

1

右移:

$x>

2

不要将&

用于负整数,因为PERL将会把它们转化为无符号数。

六、赋值操作符

Table3.3.赋值操作符

Assignmentonly

+=

Additionandassignment

-=

Subtractionandassignment

*=

Multiplicationandassignment

/=

Divisionandassignment

%=

Remainderandassignment

**=

Exponentiationandassignment

BitwiseANDandassignment

|=

BitwiseORandassignment

^=

BitwiseXORandassignment

Table3.4.赋值操作符例子

表达式

等效表达式

$a=1;

none(basicassignment)

$a-=1;

$a=$a-1;

$a*=2;

$a=$a*2;

$a/=2;

$a=$a/2;

$a%=2;

$a=$a%2;

$a**=2;

$a=$a**2;

=2;

$a=$a&

2;

$a|=2;

$a=$a|2;

$a^=2;

$a=$a^2;

.=可在一个赋值语句中出现多次,如:

$value1=$value2="

astring"

.=作为子表达式

($a=$b)+=3;

等价于

$a=$b;

$a+=3;

但建议不要使用这种方式。

七、自增自减操作符:

++、--(与C++中的用法相同)

.不要在变量两边都使用此种操作符:

++$var--#error

.不要在变量自增/减后在同一表达式中再次使用:

$var2 

=$var1+++$var1;

#error

.在PERL中++可用于字符串,但当结尾字符为'

z'

、'

Z'

9'

时进位,如:

$stringvar="

abc"

$stringvar++;

#$stringvarcontains"

abd"

now

aBC"

aBD"

abz"

#$stringvarnowcontains"

aca"

AGZZZ"

AHAAA"

ab4"

ab5"

bc999"

bd000"

.不要使用--,PERL将先将字符串转换为数字再进行自减

$stringvar--;

#$stringvar=-1now

.如果字符串中含有非字母且非数字的字符,或数字位于字母中,则经过++运算前值转换为数字零,因此结果为1,如:

ab*c"

ab5c"

八、字符串联结和重复操作符

联接:

.

重复:

x

联接且赋值(类似+=):

.=

例:

$newstring="

potato"

."

head"

t"

x5;

be"

$a.="

witched"

#$aisnow"

bewitched"

九、逗号操作符

其前面的表达式先进行运算,如:

$var1+=1,$var2=$var1;

$var1+=1;

$var2=$var1;

使用此操作符的唯一理由是提高程序的可读性,将关系密切的两个表达式结合在一起,如:

$val=26;

$result=(++$val,$val+5);

#$result=32

注意如果此处没有括号则意义不同:

$result=++$val,$val+5;

#$result=27

十、条件操作符

与C中类似,条件?

值1:

值2,当条件为真时取值1,为假时取值2,如:

$result=$var==0?

14:

7;

$result=43+($divisor==0?

0:

$dividend/$divisor);

PERL5中,还可以在赋值式左边使用条件操作符来选择被赋值的变量,如:

$condvar==43?

$var1:

$var2=14;

$var1=14:

十一、操作符的次序

Table3.6.操作符次序

++,--

自增,自减

-,~,!

单目

**

乘方

=~,!

~

模式匹配

*,/,%,x

乘,除,取余,重复

+,-,.

加,减,联接

>

移位

-e,-r,etc.

文件状态

<

=,>

=,lt,le,gt,ge

不等比较

==,!

=,<

eq,ne,cmp

相等比较

位与

|,^

位或,位异或

逻辑与

||

逻辑或

..

列表范围

?

and:

条件操作符

=,+=,-=,*=,

赋值

andsoon

逗号操作符

not

Low-precedencelogicalNOT

and

Low-precedencelogicalAND

or,xor

Low-precedencelogicalORandXOR

.操作符结合性(associativity):

Table3.7.操作符结合性

结合性

Right-to-left

Left-to-right

-e,-r,

建议:

1、当你不确定某操作符是否先执行时,一定要用括号明确之。

2、用多行、空格等方式提高程序的可读性。

Perl5教程--第四章列表和数组变量

一、列表

列表是包含在括号里的一序列的值,可以为任何数值,也可为空,如:

(1,5.3,"

2),空列表:

()。

只含有一个数值的列表(如:

(43.2))与该数值本身(即:

43.2)是不同的,但它们可以互相转化或赋值。

列表例:

(17,$var,"

(17,26<

2)

(17,$var1+$var2)

($value,"

Theansweris$value"

二、数组--列表的存贮

列表存贮于数组变量中,与简单变量不同,数组变量以字符"

@"

打头,如:

@array=(1,2,3);

(1)数组变量创建时初始值为空列表:

(2)因为PERL用@和$来区分数组变量和简单变量,所以同一个名字可以同时用于数组变量和简单变量,如:

$var=1;

@var=(11,27.1,"

但这样很容易混淆,故不推荐。

1、数组的存取

.对数组中的值通过下标存取,第一个元素下标为0。

试图访问不存在的数组元素,则结果为NULL,但如果给超出数组大小的元素赋值,则数组自动增长,原来没有的元素值为NULL。

如:

@array=(1,2,3,4);

$scalar=$array[0];

$array[3]=5;

#now@arrayis(1,2,3,5)

$scalar=$array[4];

#now$scalar=null;

$array[6]=17;

#now@arrayis(1,2,3,5,"

"

17)

.数组间拷贝

@result=@original;

.用数组给列表赋值

@list1=(2,3,4);

@list2=(1,@list1,5);

#@list2=(1,2,3,4,5)

.数组对简单变量的赋值

(1)@array=(5,7,11);

($var1,$var2)=@array;

#$var1=5,$var2=7,11被忽略

(2)@array=(5,7);

($var1,$var2,$var3)=@array;

#$var1=5,$var2=7,$var3="

(null)

.从标准输入(STDIN)给变量赋值

$var=<

STDIN>

@array=<

#^D为结束输入的符号

2、字符串中的方括号和变量替换

$v

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1