设为首页 收藏本站
查看: 879|回复: 0

[经验分享] perl脚本——基本语法

[复制链接]

尚未签到

发表于 2017-5-18 09:14:56 | 显示全部楼层 |阅读模式
一、操作符
1,算数操作符
**(幂)  求幂(**),结果不能超出数的范围。当指数为小数时,底数不能为负数,例如:25**1.5=125,(-25)**1.5=?(不成立)

2,整数比较符
<小于
>大于
==等于
<=小于等于
>=大于等于
!=不等于
<=>比较,返回1,0,or-1
批注:跟C,php语言一致

3,字符串比较符,
DSC0000.png
(1)字符串的比较原则:按照字母表的顺序比较,数字<大写字母<小写字母(a小—z大)
(2)字符串比较的次序:字符串从左到右比较。’azz’<‘bc’(即:首先a与b进行比较,然后z与c进行比较)
(3)当一个串是另一个的前缀时,长度长的为大。例如:dog<doghouse
(4)字符串可以从右向左进位,且是字母数字分别进行
(5)自动把操作数转化为字符串。123 lt 45 => ’123’ lt ’45’
(6)cmp等同于<=>,结果为-1,0, 1
例如:$str1=”a”,$str2=”a“,则print ($str1 cmp $str2) ==> 0
例如:$str1=”a”,$str2=”b”,则print($str1 cmp $str2)===> -1
例如:$str1=”b”,$str2=”a”,则print($str1 cmp $str2)===> 1


另,字符串连接(.)、字符/字符串重复(x)
(1)连接( “.“),例如:$a=‘a’.’b’;  =>‘ab’
在print时可以直接写print $a$b=>print $a.$b; 但是这两者的原理是不一样的
(2)重复( “x” ),注意:前后有空格(目的:为了和变量名分开),例如:‘a’  x  5=‘aaaaa’,若重复次数<1,则返回空串
例如:"5" x 4,即为:"5555"
例如:"love" x (4+1),即为:"lovelovelovelovelove"
例如:"4.8" x 4,即为:"4.84.84.84.8"
例如:6.1 x 3,即为:"6.16.16.1"
即:左边是一个字符串,右边是该字符串出现的次数


4,逻辑运算符
逻辑或:$a || $b 或 $a or $b
逻辑与:$a && $b 或 $a and $b
逻辑非:! $a 或 not $a
逻辑异或:$a xor $b

5,位操作符
&(按位与)、 |(按位或)、 ~(按位非)、 ^(按位异或)、 <<(左移)、>>(右移)
重点:~(按位非)

注:不要将&用于负整数,因为PERL将会把它们转化为无符号数

6,赋值符,自增、自减操作符
**=   幂等。例,$a **= 2;  $a = $a ** 2;
&=   按位与
|=     按位或
^=   按位异或
x=    重复 $str 字符串 $y 次,并反结果指派给 $str 这个字符串。$strx=$y; $str=$strx$y;

例1,
$offset = 0;
my $new_offset = $offset + 1000;
$url =~ s/&offset=$offset/&offset=$new_offset/;
解读:





二、控制结构

1,条件判断if


2,分支


3,循环while,until,for,foreach,do等



三、控制结构中的关键字
1,last 退出循环陈述
范例:
for($i=1;$i<=10;$i++)
{,
    last if ($i==5); #如果$i等于5的话就退出for循环
    print"$i\n";
}
会把1到4之间的数值显示出来.


2,next 到循环的下一个陈述
范例:
for($i<=10;$i++)
{
    #如果是2的倍数的话,就到循环的下一个陈述
    next if($i%2)==0)
        print"$i是一个奇数!\n";
}
会把1以10之间的奇数显示出来。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-378628-1-1.html 上篇帖子: Perl应用发布之冷冻技术 下篇帖子: Perl 入门读书笔记 Expression
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表