声明:本神奇的Perl系列为刘兴(http://deepfuture.iteye.com/)原创,未经笔者授权,任何人和机构不能转载
表示如果非真,即:如果条件表达式不为真。
语法一:
unless(条件表达式) {
条件表达式为假执行的语句块;
}
也可以写成:
条件表达式为假执行的语句块unless (条件表达式);
范例:
#perl0-5.pl
#%为除余操作符
$x=6;
unless($x%2){
print “x是偶数\n”;
}
print “x是偶数\n” unless($x%2);
输出结果为:
x是偶数
x是偶数
语法二:
unless(条件表达式)
{
条件表达式为假时执行的语句块;
}else{
条件表达式为真时执行的语句块;
}
范例:
#perl0-6.pl
#%为除余操作符
$x=9;
unless($x%2){
print “x是偶数\n”;
}
else{
print “x是奇数\n”;
}
输出结果为:
x是奇数
4.3.1 替代if-else结构的三目操作符?:
?: 操作符可以替代if-else结构,语法格式如下:
条件表示式?表达式1:表达式2
表示如果条件表示式为真则求表达式1的值,否则求表达式2的值。
范例:
#perl0-7.pl
#%为除余操作符
$x=9;
$x%2?print "x是奇数\n":print "x是偶数\n";
输出结果为:
x是奇数
4.3.2 替代if结构的&&
&&可替代if结构,语法格式如下:
条件表达式 && 条件表达式为真时执行的语句块
范例:
#perl0-8.pl
#%为除余操作符
$x=8;
$x%2&& print "x是奇数\n";
因为8不是奇数,所以print语句不会执行,无输出结果。
4.3.3 替代unless结构的||
||可替代unless结构,语法格式如下:
条件表达式 || 条件表达式为假执行的语句块
#perl0-9.pl
#%为除余操作符
$x=8;
$x%2|| print "x是偶数\n";
因为8是偶数,所以输出结果如下:
x是偶数
Perl循环控制很丰富,其中某些控制语法在处理列表和数组方面相当实用和高效。
语法一:
while(条件表达式) {
语句块;
}
范例:
#perl0-10.pl
#计算1到10的连乘结果
$x=1;
$jg=1;
while($x<=10)
{
$jg=$jg*$x;
$x++;
}
print “$jg\n”;
输出结果如下:
3628800
语法二:
语句块while(判别运算式);
范例:
#perl0-11.pl
#计算1到10的连乘结果
$x=1;
$jg=1;
{
$jg*=$x;
$x++;
} while($x<=10)
print “$jg\n”;
请注意$jg*=$x这种写法,学过C语言的都知道:
$jg*=$x与$jg=$jg*$x的结果一样,但编译效率更高。
输出结果如下:
3628800
与while相比,do while保证语句块至少执行一次。
语法:
do
{
语句块;
}while(条件表达式)
范例:
#perl0-12.pl
#求和1到100
$jg=0;
$x=1;
do{
$jg+=$x;
$x++;
}while($x<=100);
print "$jg\n";
输出结果如下:
5050
until 直到...才终止循环
语法:
until(条件表达式)
{
语句块;
}
也可以写成: 语句块 until(条件表达式);
范例:
#perl0-13.pl
#从1开始求和,直到和大于1000终止
$jg=0;
$x=1;
until ($jg >1000)
{
$jg+=$x;
$x++;
}
print "1->$x:";
print "$jg\n";
输出结果如下:
1->46:1035
do …until直到...才终止循环
语法:
do{
语句块;
}until (条件表达式);
范例:
#perl0-14.pl
#从1开始求和,直到和大于1000终止
$jg=0;
$x=1;
do
{
$jg+=$x;
$x++;
} until ($jg >1000);
print "1->$x:";
print "$jg\n";输出结果如下:
1->46:1035
循环
语法一:
for (初始表达式;条件表达式;循环过程运算式)
{
语句块;
}
范例一:
#perl0-15.pl
#从1开始求和,直到和大于1000终止
$jg=0;
$x=1;
for ($jg=0,$x=1; $jg <=1000;$x++)
{
$jg+=$x;
}
print "1->$x:";
print "$jg\n";
输出结果如下:
1->46:1035
语法二:
每次循环依次将数组变量的元素指定给标量
for 标量(数组变量)
{
语句块;
}
范例:
#perl0-16.pl
#从数组中挑出奇数
@myarr=(2,5,7,10,23,33,18);
print"奇数如下:\n";
for $num(@myarr)
{
$num%2&&print "$num ";
}
print"\n";
输出结果如下:
奇数如下:
5 7 23 33
语法三:
每次循环依次将数组变量的元素指定给预定义变量$_
for (数组变量)
{
读取$_,处理数组的相关语句块;
}
范例:
#perl0-17.pl
#从数组中挑出奇数
@myarr=(2,5,7,10,23,33,18);
print"奇数如下:\n";
for (@myarr)
{
$_%2&&print "$_ ";
}
print"\n";
输出结果如下:
奇数如下:
5 7 23 33
每次循环依次将数组变量的元素指定给标量
语法一:
foreach 标量(数组变量)
{
语句块;
}
如果把$variable变量省略的话,就会将数组@array的元素一一指定给$_这个内定的输出变量.
范例:
#perl0-18.pl
#从数组中挑出奇数
@myarr=(2,5,7,10,23,33,18);
print"奇数如下:\n";
foreach $num(@myarr)
{
$num%2&&print "$num ";
}
print"\n";
输出结果如下:
奇数如下:
5 7 23 33
语法二:
每次循环依次将数组变量的元素指定给预定义变量$_
foreach (数组变量)
{
语句块;
}
范例:
#perl0-19.pl
#从数组中挑出奇数
@myarr=(2,5,7,10,23,33,18);
print"奇数如下:\n";
foreach (@myarr)
{
$_%2&&print; #使用无参数的print表示输出$_
print" ";
}
print"\n";
输出结果如下:
奇数如下:
5 7 23 33
退出循环
语法:
last
范例:
#perl0-20.pl
#从1开始累加,直到和大于500为止
$x=1;
$jg=0;
while (1)
{
$jg+=$x;
$jg>500&&last;#求和>500退出循环
$x++;
}
print"sum(1:$x)=$jg\n";
输出结果如下:
sum(1:32)=528
终止本次循环,进入下一循环。
语法:
next
范例:
#perl0-21.pl
#求出1-100内的奇数之和
foreach ($x=1,$jg=0;$x<=100;$x++){
$x%2||next;#如果是偶数则结束本次循环,不累加,继续下次循环
$jg+=$x;
$x++;
}
print "$jg\n";
分享到:
相关推荐
perl语法资源的引用,我都自学的,现在拿出来跟大家分享
很好的东西,可以让大家熟悉perl程序的基本语法,值得大家下载。
perl基本语法 讲述数据类型 控制叙述 副程式 I/O和档案处理等
Perl语法检查 要求 perl(用于语法突出显示) 珍珠棉(用于棉绒) 扩展设置 设置 默认 描述 perl-toolbox.temporaryPath null 写入临时皮棉和语法文件的路径。 默认为操作系统特定的tmp路径 perl-toolbox.syntax....
PERL_基本语法,针对PERL刚刚入门初学者,可以加深对PERL的印象
perl6-fortran语法:用于解析FORTRAN源代码的Perl6语法
perl基本语法,适合初学perl的人员。
包含了全部的基本Perl语法,对初学Perl者很有帮助
适合想学习Perl语言的人;语法参考;
Atom-atom-language-perl6.zip,Atom/Github Perl 6 Syntax Highlighting Support »ö«Atom Perl 6支持-官方版!,atom是一个用web技术构建的开源文本编辑器。
添加对类似php的perl语法的支持和?>标记。 您始终可以构建和安装任何插件的当前开发版本: 将此仓库克隆到硬盘 进入仓库目录 运行./gradlew buildPlugin (这将从回购中构建所有插件) 在IDE的插件对话框中,...
Perl的简单语法 Perl的简单语法 Perl的简单语法 Perl的简单语法 Perl的简单语法 Perl的简单语法 Perl的简单语法
在大多数情况下,将提供默认值,尽管我可能会使用C风格的变量和值,只是因为添加完整的Perl风格的表达式会鼓励人们认为它正在重新解析Perl 6,但这是另一个模块。安装使用zef(与Rakudo Star捆绑在一起的模块管理...
Perl 语言编程,详细讲解了perl的语法及技巧
这是 Perl 5 和 Perl 6 的所有各种与 Perl 相关的语法和帮助文件的集合。 安装 您可以使用安装 vim-perl 和 git 子模块 它们都经过测试和工作:请阅读相关站点上的相关文档。 传统方法是安装,只需执行“make ...
YAML参考了其他多种语言,包括:XML、C语言、Python、Perl以及电子邮件格式RFC2822。Clark Evans在2001年在首次发表了这种语言,另外Ingy döt Net与Oren Ben-Kiki也是这语言的共同设计者。目前已经有数种编程语言或...
vscode-perls语法 Visual Studio Code的基本Perl语法荧光笔。
perl6-WSN 理解 Wirth 语法符号的初始 p6 实验。 2/16/2015:达到当前 Rakudo 标准。 它现在有点工作。 这里最大的限制似乎是 WSN 的可选空白很难在 p6 中自动工作。 然而,这个脚本的输出无疑为将 WSN 转换为 p6 ...
Perl的简单语法(与C语言语法的异同)
perl-tcl-ptk:Tcl :: pTk-与PerlTk兼容的语法与TclTk的接口