perl-cgi 简介(四)
时间:2007-06-21 来源:easyworld
6.3.3 Perl语言的运算符号字符
以下是在Perl语言中常用的运算字符,大部分和C语言中的运算字符很类似,学过C语言的人应该会对这些运算字符十分熟悉才对。
一、赋值(Assignment)运算符
二、算术(Arithmetic)运算符
三、数值(Numeric Values)关系运算符
四、字符串(StringValues)关系运算符
五、逻辑(Logical)运算符
1.$x && $y(And)
2.$x||$y(Or)
3.!$x(Not)
六、其他常用的运算符 指令:..区块运算符(Range Operator)
说明:这个运算符是Perl语言中特有的运算符,是一个很实用的运算符。
范例:
@digits=(1..9); #此时@digits=(l,2,3,4,5,6,7,8,9);
@digits=('10'..'05'); #此时@digits=(01,02,03,04,05);
@char=('A'..'E'); #此时@char=('A','B','C','D','E');
@total=(l..3,'A'..'B');#此时@total=(1,2,3,'A','B'); 指令:判别运算式?运算式1:运算式2 条件运算符(Conditional Operator)
说明:这个语法的意义和C语言一样,如果判别运算式的值是真(True)的话,则做运算1的 运算,如果判别运算式是假(False)的话,则做运算式2的运算。
范例:
$price=($age>60)?100:200;
如果$age大于60的话,则$price等于100;否则$price等于200.
七、常用的文件数据(File test)运算符
6.3.4 Perl语言的流程控制
以下是在Perl语言中常用的程序流程控制,大部分和C语言的程序流程控制很类似,学 过C语言的人,应该会很熟悉。
一、选择性流程控制 指令:if假如
语法一:if(判别运算式){
程序叙述区块;
}
上个语法在Perl中也可以写成:
程序叙述区块if(判别运算式);
范例:
print"请输入您的分数?\n";
$score=<STDIN>; #<STDIN>代表标准输入,会让使用者输入一字符串
chop($score); #将$score最后一个换行字符\n删除掉
if($score>=60){
print"您的分数及格了!\n";
也可以写成:
print"您的分数及格了!\n"if($score>=60); 语法二:if(判别运算式一){
程序叙述区块一;
}else{
程序叙述区块二;
}
范例:
print"请输入您的分数?\n";
$score=<STDIN>;
chop($score);
if($score>=60){
print"您的分数及格了!\n"
}else{
print"您的分数不及格!\n";
} 语法三:if(判别运算式一){
程序叙述区块一;
}elsif(判别运算式二){
程序叙述区块二;
}else{
程序叙述区块三;
}
范例:
print"请输入您的分数?\n";
$score=<STDIN>;
chop($score);
if($score>60){
print"您的分数大于60分!\n";
}elsif($score$)
以下是在Perl语言中常用的运算字符,大部分和C语言中的运算字符很类似,学过C语言的人应该会对这些运算字符十分熟悉才对。
一、赋值(Assignment)运算符
符号 | 范例 | 说明 |
---|---|---|
= | $x=$y; | 将$y的值指派给$x |
+= | $x+=$y; | $x=$x+$y;将$x加$y之后再指派给$x |
-= | $x-=$y; | $x=$x-$y;将$x减$y之后再指派给$x |
*= | $x*=$y; | $x=$x*$y;将$x乘$y之后再指派给$x |
/= | $x/=$y; | $x=$x/$y;求出$x除以$y之后的商数,再指派给$x |
**= | $x**=$y; | $x=$x**$y;将$x乘上$y次方之后再指派给$x |
%= | $x%=$y | $x=$x%$y;求出$x除以$y的余数之后,再指派给$x |
.= | $str1.=$str2; |
$str1=$str1.$str2; 将$str1这个字符串再加上$str2这个字符串之后,再指派给$str1这个字符串 |
x= | $str x=$y |
$str=$str x $y 重复$str字符串$y次并把结果指派给$str这个字符串 |
二、算术(Arithmetic)运算符
符号 | 范例 | 说明 |
---|---|---|
+ | $z=$x+$y | 将$x和$y相加之后,再将结果指派给$z |
- | $z=$x-$y | 将$x减掉$y之后,再将结果指派给$z |
* | $z=$x*$y | 将$x和$y相乘之后,再将结果指派给$z |
/ | $z=$x/$y | 将$x除以$y之后,再将商数指派给$z |
% | $z=$x%$y | 将$x除以$y之后,再将余数指派给$z |
** | $z=$x**$y | 将$x乘以$y次方之后,再将结果指派给$z |
++ | $x++;++$x | 如同$x=$x+1,将$x加一以后再将结果指派给$x |
-- | $x--;--$x | 如同$x=$x-1,将$x减一以后再将结果指派给$x |
. | $z=$x.$y | 将$x字符串和$y字符串连接之后,再将结果指派给$z |
三、数值(Numeric Values)关系运算符
符号 | 范例 | 说明 |
---|---|---|
> | $x>$y | 如果$x大于$y,返回1的值,否则返回0 |
>= | $x>=$y | 如果$x大于等于$y,返回1的值,否则返回0 |
< | $x<$y | 如果$x小于$y,返回l的值,否则返回0 |
<= | $x<=$y | 如果$x小于等于$y,返回1的值,否则返回0 |
== | $x==$y | 如果$x等于$y,返回l的值,否则返回0 |
!= | $x!=$y | 如果$x不等于$y,返回1的值,否则返回0 |
<=> | $x<=>$y | 如果$x大于$y,返回1的值;如果$x等于$y,返回0;如果$x小于$y,则返回-1的值 |
四、字符串(StringValues)关系运算符
符号 | 范例 | 说明 |
---|---|---|
gt | $str1 gt $str2 | 如果$str1大于$str2,返回1的值,否则返回0 |
ge | $str1 ge $str2 | 如果$str1大于等于$str2,返回1的值,否则返回0 |
lt | $str1 lt $str2 | 如果$str1小于$str2,返回1的值,否则返回0 |
le | $strl le $str2 | 如果$strl小于等于$str2,返回1的值,否则返回0 |
eq | $strl eq $str2 | 如果$strl等于$str2,返回1的值,否则返回0 |
ne | $str1 ne $str2 | 如果$strl不等于$str2,返回1的值,否则返回0 |
cmp | $str1 cmp $str2 | 如果$str1大于$str2,返回1的值;如果$str1等于$str2,返回0;如果$str1小于$str2,则返回-1的值 |
五、逻辑(Logical)运算符
1.$x && $y(And)
$x | $y | 结果 |
---|---|---|
真(True) | 真(True) | 真(True) |
真(True) | 假(False) | 假(False) |
假(False) | 真(True) | 假(False) |
假(False) | 假(False) | 假(False) |
2.$x||$y(Or)
$x | $y | 结果 |
---|---|---|
真(True) | 真(True) | 真(True) |
真(True) | 假(False) | 真(True) |
假(False) | 真(True) | 真(True) |
假(False) | 假(False) | 假(False) |
3.!$x(Not)
$x | 结果 |
---|---|
真(True) | 假(False) |
假(False) | 真(True) |
六、其他常用的运算符 指令:..区块运算符(Range Operator)
说明:这个运算符是Perl语言中特有的运算符,是一个很实用的运算符。
范例:
@digits=(1..9); #此时@digits=(l,2,3,4,5,6,7,8,9);
@digits=('10'..'05'); #此时@digits=(01,02,03,04,05);
@char=('A'..'E'); #此时@char=('A','B','C','D','E');
@total=(l..3,'A'..'B');#此时@total=(1,2,3,'A','B'); 指令:判别运算式?运算式1:运算式2 条件运算符(Conditional Operator)
说明:这个语法的意义和C语言一样,如果判别运算式的值是真(True)的话,则做运算1的 运算,如果判别运算式是假(False)的话,则做运算式2的运算。
范例:
$price=($age>60)?100:200;
如果$age大于60的话,则$price等于100;否则$price等于200.
七、常用的文件数据(File test)运算符
范例 | 说明 |
---|---|
-r $file | 如果$file是可读取的话,返回1的值 |
-w $file | 如果$file是可写入的话,返回1的值 |
-x $file | 如果$file是可执行的话,返回1的值 |
-e $file | 如果$file存在的话,返回1的值 |
-o $file | 如果$file是被执行者所拥有的话,返回1的值 |
-s $file | 返回$file的文件大小(bytes) |
-f $file | 如果$file是正常文件的话,返回1的 值 |
-T $file | 如果$file是文本文件的话,返回1的值 |
-B $file | 如果$file是Billry文件的话,返回1的值 |
-M $file | 返回$file文件最后一次更改时间到现在的日期数 |
6.3.4 Perl语言的流程控制
以下是在Perl语言中常用的程序流程控制,大部分和C语言的程序流程控制很类似,学 过C语言的人,应该会很熟悉。
一、选择性流程控制 指令:if假如
语法一:if(判别运算式){
程序叙述区块;
}
上个语法在Perl中也可以写成:
程序叙述区块if(判别运算式);
范例:
print"请输入您的分数?\n";
$score=<STDIN>; #<STDIN>代表标准输入,会让使用者输入一字符串
chop($score); #将$score最后一个换行字符\n删除掉
if($score>=60){
print"您的分数及格了!\n";
也可以写成:
print"您的分数及格了!\n"if($score>=60); 语法二:if(判别运算式一){
程序叙述区块一;
}else{
程序叙述区块二;
}
范例:
print"请输入您的分数?\n";
$score=<STDIN>;
chop($score);
if($score>=60){
print"您的分数及格了!\n"
}else{
print"您的分数不及格!\n";
} 语法三:if(判别运算式一){
程序叙述区块一;
}elsif(判别运算式二){
程序叙述区块二;
}else{
程序叙述区块三;
}
范例:
print"请输入您的分数?\n";
$score=<STDIN>;
chop($score);
if($score>60){
print"您的分数大于60分!\n";
}elsif($score$)
相关阅读 更多 +