加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl总结(2)

发布时间:2020-12-16 00:09:38 所属栏目:大数据 来源:网络整理
导读:四 、 控制语句 1 .?条件语句 : ? ? ? 有以下几种形式的条件语句,和 C,java还是类似的。 if?(?expression?)??BLOCK; if?(?expression?)?? ???BLOCK1 else?BLOCK2; if?(?expression1?)?? ???BLOCK1; elsif?(?expression2?)? ???BLOCK2; else ????BLOCK3; #

控制语句

1.?条件语句

? ? ? 有以下几种形式的条件语句,和C,java还是类似的。
if?(?expression?)??BLOCK;

if?(?expression?)??
???BLOCK1
else?BLOCK2;

if?(?expression1?)??
???BLOCK1;
elsif?(?expression2?)?
???BLOCK2;
else
????BLOCK3;

#倒置的if语句
expression?if?(?test_expression?);

? ? ??特别注意这里的elsif不是elseif,这个关键词来源于ada语言。

? ? ??其中expression可能涉及到的关系运算符:
? ? ??? ? ?1)数字值比较:==,?>,?<,?>=,?<=,?!=?;
? ? ?2)字符串比较:?eq,?gt,?lt,?ge,?le,?ne;(undef被当作假来处理)
? ? ?3)逻辑运算符:&&,?||,?和!?;?and,?or,?not等。

2.?循环语句
? ? ??循环语句主要有以下一些形式。其中while语句和for语句延续了C中的风格;until语句和while语句可以互相转换。特别说明一下foreach?语句,?括号中的表达式用于产生一个列表。然后列表中的每个元素依次赋给循环变量,并对每个元素执行一次循环语句。注意循环变量是元素本身的一个引用,而不是元素的一个拷贝。因此,修改循环变量将修改原来的数组。?

while?(expression)
BLOCK;

do?BLOCK?while(expression);

until?(expression)
BLOCK;

for(?initialization;?test;?increment)?
BLOCK;

foreach?$each?(@list)
BLOCK;

? ? ??例子:

@list?=?(1,?2,?3,?4,?5);
foreach?$temp?(@list)?{
????if?($temp?==?2)?{
??????$temp?=?20;
????}
}
此时@list已变成了(1,?20,?5)。

3.?局部跳转语句
? ? ??perl里面有一些局部跳转语句,能够帮助我们控制循环或者让程序下一步跳转到特定的位置。最常用到的是last,?next和redo

last:类似于C语言中的break它让程序跳出循环,也就是跳出当前BLOCK,紧接BLOCK之后的代码往下。

? ? ??例如:

for?($i=1;?$i<=10;?$i++)

{

Last?if?($?i==5)?#如果$i等于5的话就退出for循环?

print"$i?n"?;?

}?


? ? ??next:相当于C语言中的continue语句,使得当前循环到此为止,而开始下一次循环。

? ? ??例如下面的程序是将1到100之间的奇数显示出来。

for(?$i=0;?$i<?=100;?$i++)?

#如果是2?的倍数的话,?就进入下一次循环?

next??unless?(?$i%2?);?

?print"$i?是一个奇数!n"?;?

}

? ? ??Redo:类似于上述介绍过的next语句,但是它不会判断循环的退出条件。
? ? ??例如以下例子:

$i?=?-1;?

while?($i?<=10)??

{?

?? ? ?$i++;?

redo?unless?($i?%2);

print??$i?,?"?是一个奇数!n"?;

? ? ??会打印出:

? ? ??1?是一个奇数!?

? ? ??3?是一个奇数!?

? ? ??5?是一个奇数!?

? ? ??7?是一个奇数!?

? ? ??9?是一个奇数!

? ? ??11?是一个奇数!?

读写文件和目录处理

PerlI/O?操作都是通过文件句柄来进行的。在缺省的情况下,有默认的句柄STDIN(代表标准输入)?、STDOUT(代表标准输出)和STDERR?(代表标准错误输出)。下标中介绍了如何读写文件,删除和重命名文件,创建和删除目录。


子程序

子程序,也称作例程或函数。它接受多个输入参数,返回一个输出参数。使用这样一段分离的代码完成一个特殊的功能,可以减少重复代码同时使得程序更易读。

一、定义语法如下:

sub?Subroutine_name[()]?

sequence_of_statements;?

}?

举例如下:?

sub?GetCurrentPath?()

{?

$fs?=?Win32::OLE->new("?Scripting.FileSystemObject"?);?

$folder?=?$fs->GetFolder("?.");

$ls_current_path?=?$folder->path;?

return?$ls_current_path;?

}#GetCurrentPath

二、调用方法如下:
? ? ??1、用&调用???&subname;??...??sub?subname{????...??}? ? ??2、先定义后调用?,可以省略&符号
??}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读