📄 perl7.htm
字号:
<html><!-- #BeginTemplate "/Templates/index.dwt" --><head><meta http-equiv=Content-Type content="text/html; charset=gb_2312-80"><title>ChinaPerl</title>
<LINK rel=stylesheet href=mystyle.css type=text/css>
</head><body>
<table border=0 cellspacing=0 bgcolor=#80FFFF width=100%>
<tr>
<td align=left rowspan=2 width=150>
<div align="center"><img src=image/perl.gif height=85 width="85"></div>
</td>
<td align=center><img src=image/perl.gif height=85 width="85"></td>
</tr><tr>
<td colspan=2 align=center> </td>
</tr></table>
<table border=0 width=100% height=400 cellspacing=0 cellpadding=0>
<tr>
<td width=20% valign=top bgcolor="#dddddd">
<table border=0 width=100% cellpadding=0><tr><td width=5%></td>
<td width=95%>
<p align=center>Perl 5教程<br>
<a target=_blank href=http://flamephoenix.126.com>by flamephoenix</a><a href="http://perl.yesky.net"><br>
<font color="red">修订 by RNY<br>
</font></a>2000-08-30</p>
<p align=center><a href="index.htm">目录</a></p>
<p align=center>第一部分 Perl语言</p>
<p><a href=perl1.htm>第一章 概述</a></p>
<p><a href=perl2.htm>第二章 简单变量</a></p>
<p><a href=perl3.htm>第三章 操作符</a></p>
<p><a href=perl4.htm>第四章 列表和数组变量</a></p>
<p><a href=perl5.htm>第五章 文件读写</a></p>
<p><a href=perl6.htm>第六章 模式匹配</a></p>
<p><a href=perl7.htm>第七章 控制结构</a></p>
<p><a href=perl8.htm>第八章 子程序</a></p>
<p><a href=perl9.htm>第九章 关联数组(哈希表)</a></p>
<p><a href=perl10.htm>第十章 格式化输出</a></p>
<p><a href=perl11.htm>第十一章 文件系统</a></p>
<p><a href=perl12.htm>第十二章 引用(指针)</a></p>
<p><a href=perl13.htm>第十三章 面向对象编程</a></p>
<p><a href=perl14.htm>第十四章 包和模块</a></p>
<p><a href=func.htm>附录一 函数集</a></p>
<p align=center>第二部分 Perl的CGI应用</p>
<p><a href=cgi1.htm>第一章 cgilib例</a></p>
<p><a href=cgi2.htm>第二章 动态创建图像</a></p>
<p><a href=cgi3.htm>第三章 计数器的编写方法</a></p>
<p><a href=cgi4.htm>第四章 Web Server设置</a></p>
第五章、...<br></td></tr></table></td>
<td width=80% valign=top>
<div align="center"></div>
<table border=0 width=100% cellpadding=0>
<tr bgcolor="#00FF80">
<td colspan="2">
<div align="center"> Perl教程 | <a href="perl5manual.zip">下载全文</a>
| <a target=_blank href=http://www.turbolinux.com.cn/cgi-bin/linux/wwwthreads.pl?action=list&Board=perl>Perl论坛</a>
| <a href="http://perl.yesky.net">推荐站点</a> | 关于我们 </div>
</td>
</tr>
<tr>
<td colspan="2"><!-- #BeginEditable "body" -->
<p align=center>第七章 控制结构</p>
<p align=center><a target=_blank href=http://flamephoenix.126.com>by
flamephoenix</a></p>
<p><a href=#一、条件判断>一、条件判断</a><br>
<a href=#二、循环:>二、循环:</a><br>
<a href=#1、while循环>1、while循环</a><br>
<a href=#2、until循环>2、until循环</a><br>
<a href=#3、类C的for循环>3、for循环</a><br>
<a href=#4、针对列表(数组)每个元素的循环>4、针对列表(数组)每个元素的foreach循环</a><br>
<a href=#5、do循环> 5、do循环</a><br>
<a href=#6、循环控制>6、循环控制</a><br>
<a href="#7、传统的goto label;语句。">7、传统的goto语句</a><br>
<a href=#三、单行条件>三、单行条件</a><br>
<br>
<br>
<a name=一、条件判断>一、条件判断</a><br>
if ( <expression>) {<br>
<statement_block_1><br>
}<br>
elsif ( <expression> ) {<br>
<statement_block_2><br>
}<br>
...<br>
else{<br>
<statement_block_3><br>
}<br>
<a name=二、循环:>二、循环:</a><br>
<a name=1、while循环>1、while循环</a><br>
while ( <expression> ) {<br>
<statement_block><br>
}<br>
<a name=2、until循环>2、until循环</a><br>
until ( <expression> ) {<br>
<statement_block><br>
}<br>
<a name=3、类C的for循环>3、类C的for循环</a> ,如<br>
for ($count=1; $count <= 5; $count++) {<br>
# statements inside the loop go here<br>
}<br>
下面是在for循环中使用逗号操作符的例子:<br>
for ($line = <STDIN>, $count = 1; $count <=
3; $line = <STDIN>, $count++) {<br>
print ($line);<br>
}<br>
它等价于下列语句:<br>
$line = <STDIN>;<br>
$count = 1;<br>
while ($count <= 3) {<br>
print ($line);<br>
$line = <STDIN>;<br>
$count++;<br>
}<br>
<a name=4、针对列表(数组)每个元素的循环>4、针对列表(数组)每个元素的循环:foreach, 语法为:</a><br>
foreach localvar (listexpr) {<br>
statement_block;<br>
}<br>
例:<br>
foreach $word (@words) {<br>
if ($word eq "the") {<br>
print ("found the word
'the'\n");<br>
}<br>
}<br>
注:<br>
(1)此处的循环变量localvar是个局部变量,如果在此之前它已有值,则循环后仍恢复该值。<br>
(2)在循环中改变局部变量,相应的数组变量也会改变,如:<br>
@list = (1, 2, 3, 4, 5);<br>
foreach $temp (@list) {<br>
if ($temp == 2) {<br>
$temp = 20;<br>
}<br>
}<br>
此时@list已变成了(1, 20, 3, 4, 5)。<br>
<a name=5、do循环>5、do循环</a><br>
do {<br>
statement_block<br>
} while_or_until (condexpr);<br>
do循环至少执行一次循环。<br>
<a name=6、循环控制>6、循环控制</a><br>
退出循环为last,与C中的break作用相同;<br>
执行下一个循环为next,与C中的continue作用相同;<br>
PERL特有的一个命令是redo,其含义是重复此次循环,即循环变量不变,回到循环起始点,但要注意,redo命令在do循环中不起作用。<br>
<font color="red">一次跳出多个循环,只要为想去的代码段取个名字(label),再配合 last,next,redo
即可,例:<br>
OUTER: for(...){<br>
INNER: for(...){<br>
last OUTER;<br>
}<br>
} </font><br>
<a name="7、传统的goto label;语句。">7、传统的goto label;语句。</a><br>
<br>
<a name=三、单行条件>三、单行条件</a><br>
语法为statement keyword condexpr。其中keyword可为if、unless、while或until,如:<br>
print ("This is zero.\n") if ($var
== 0);<br>
print ("This is zero.\n") unless
($var != 0);<br>
print ("Not zero yet.\n") while
($var-- > 0);<br>
print ("Not zero yet.\n") until
($var-- == 0);<br>
虽然条件判断写在后面,但却是先执行的。<br>
<br>
</p>
<p></p>
<p align=center><a href=perl6.htm>上一章</a> <a href=perl8.htm>下一章</a>
<a href=index.htm>目录</a></p>
<p align=center> </p>
<!-- #EndEditable --></td>
</tr>
</table>
</td></tr></table></body><!-- #EndTemplate --></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -