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

[经验分享] Perl笔记(一)

[复制链接]

尚未签到

发表于 2017-5-17 07:46:16 | 显示全部楼层 |阅读模式
1 Perl中所有数字内部格式一致,只有双精度浮点数(Perl内部没有整数值)。
2 Perl中允许用下划线来分隔比较长的整数,如612980400283768和612_980_400_283_768是相同的值。
3 Perl中的非十进制整数:八进制以0开头,十六机制以0x开头,二进制以0b开头。
4 Perl中的数字操作符除加减乘除之外,还有模数运算符(%)和指数操作符(**)。对于%,两个操作数首先变成对应的整数值,如10.5%3.2首先变成10%3后再计算。在模数运算中,如果有一个操作数为负数,其结果和Perl的具体实现有关。另外,通常不能进行一个负数的非整数次方的运算(这将产生一个复数),除非有了Math::Complex模块。
5 单引号字符串
单引号不是字符串的一部分,但Perl可以用它辨别字符串的开始和结束。除了单引号或者反斜线(包括换行字符,如果字符串在下一行继续)之外的任何字符都表示它自身。要得到一个反斜线,可以把两个反斜线放在一起;要得到单引号,需要在单引号之前加上反斜线。单引号字符串中的/n不会被当作换行符来处理,其仅仅是两个字符/和n。只有在反斜线后面接的是/或者是单引号'才会被当作特殊字符来处理。
6 双引号字符串
双引号字符串中/n为换行符。双引号中的转义字符:
------------------------------
| 符号 | 含义         |
------------------------------
| /n | 换行         |
------------------------------
| /r | 回车         |
------------------------------
| /t | 制表符         |
------------------------------
| /f | formfeed        |
------------------------------
| /b | 退格         |
------------------------------
| /a | 响铃         |
------------------------------
| /e | escape(ASCII中的escape字符)   |
------------------------------
| /007 | 任何八进制值(这里是007=bell)   |
------------------------------
| /x7f | 任何十六进制值(这里是007=bell)   |
------------------------------
| /cC | 一个控制符(这里是Ctrl+c)    |
------------------------------
| // | 反斜线         |
------------------------------
| /" | 双引号         |
------------------------------
| /l | 下个字符小写       |
------------------------------
| /L | 接下来的字符均小写直到/E     |
------------------------------
| /u | 下个字符大写       |
------------------------------
| /U | 接下来的字符均大写知道/E     |
------------------------------
| /Q | 在non-word字符之前加上/,直到/E   |
------------------------------
| /E | 结束/L, /E和/Q       |
------------------------------

双引号字符串的另一个性质是可以进行变量内插,也即当使用字符串时,如果字符串中含有变量名,将由变量的当前值替换它。

7 字符串操作符
字符串可由.操作符连接。
字符串重复操作符为小写字母x,如"fred" x 3 #"fredfredfred", 5 x 4 #实际上是"5555"。

8 数字和字符串之间的自动转换
Perl将在需要的时候根据标量值之间的操作符自动进行数字和字符串之间的自动转换。

9 Perl中的标量变量都形如$fred。当一个字符串由双引号括起来时,如果变量前没有反斜线,则变量的值会被替换(如果一个变量未被赋值,则将使用空值)。Perl提供了分隔符{}将变量名括起来,如:
$what="brontosaurus steak";
$n=3;
print "fred ate $n $whats./n";  #输出不是steaks,而是$whats的值
print "fred ate $n ${what}s./n"; #现在使用$what的值。

10 Perl中没有Boolean类型,但可以利用一下几条法则帮助记忆:
如果值为数字,0是false,其余为真;
如果值为字符串,则空串('')为false,其余为真;
如果值的类型既不是数字又不是字符串,则将其转换为数值或字符串再利用上述规则。

11 行输入运算符:<STDIN>。<STDIN>作为标量值来使用,Perl每次在标准输入中读入文本下一行,将其传给<STDIN>。利用<STDIN>读入的字符串行尾是有换行符的,可以利用chomp函数来去掉。chomp是一个函数,作为函数它有一个返回值,为移除的字符的个数。在使用chomp时,可以使用或不使用(),这又是perl中的一条通用规则:除非移除它们会改变含义,否则括号是可以省略的。如果结尾有两个或两个以上的换行符,chomp仅去掉一个。

12 undef值
Perl中,变量在第一次赋值前有一个特殊值undef,如果该变量是数值型,则undef为0;如果是字符串,则undef为空串。

13 defined函数

运维网声明 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-378278-1-1.html 上篇帖子: 无比强大的Perl 下篇帖子: Perl 有什么特性
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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