微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

perl系列:标量数据

标量即单数名词,相对应的,列表、数组和散列则是多个名词的集合。
不论单数名词还是复数名词,都可分为直接量和变量。
直接量即数据的内容,可分为数值和字符串。而变量只是装数据的容器。

1、数值直接量及操作符
数值直接量即数字。
常见操作符和其他语言差不多。至于优先级的问题,我认为使用括号是最好的。
建议操作符使用时前后加空格。
%:求模,两数相除取余,只取两边的整数部分进行计算
**:乘幂运算

2、字符串直接量及操作符:注意转义符号的使用
单引号字符串:只有两种情况是转义的,即表示单引号和反斜线本身时。
    例:'a','a\n','a\'','a\\'    #分别表示a,a\n,a',a\
双引号字符串:可以使用很多转义字符,最常用的即"\n"
    除了可以使用转义字符外,最重要的是可以使用变量替换。但只能使用$和@引入变量。
    例: "$a","@b"    #分别将标量变量a和数组变量b的值替换到字符串中
    变量替换时,若变量名与其他字符紧挨时,可使用{}分开
    例:"abc${a}bc"    #将$a的值插入abc和bc之间
字符串操作符:连接:.    复制:x

3、标量变量
$开头,变量名不能数字开头,大小写不同,可以使用下划线
可使用print输出变量的值。

4、操作符对上下文的判断
perl语言根据操作符判断操作对象是数值还是字符串。
因此数值和字符串的操作符是不同的。除前面介绍的操作符外,常用的还有比较操作符。
数值:==,!=,<,>,<=,>=
字符串:eq,ne,lt,gt,le,ge

5、布尔值:即真或假
用于条件判断,但不能print输出
'0'是唯一当作false的非空字符串
若取相反布尔值,可使用"!"

6、读取键盘输入
<STDIN>    #等待用户输入,直到按下enter键。
    #因此读入字符包括一个换行符
chomp ($a=<STDIN>)    #删除$a最后一个换行符
    #不能使用chomp <STDIN>;
    #若$a后面有不止一个换行符,只删除最后一个

7、undef值 undef即空,即不是数字,也不是字符串。 在运算时,undef可以被当作数字0,也可以被当作空字符串。 但0或空字符串都不能看作undef。 除了直接对变量赋值为undef,当使用<STDIN>读到文件结尾符时,也会读入undef。 可使用defined判断是否undef,对undef返回false。 例: $a=undef; if (defined($a)) {print "true\n";} else {print "false\n";} $a=<STDIN>;    #输入ctrl+d(unix)或ctrl+z(windows),即可读入undef。 if (defined($a)) {print "t\n";} else {print "f\n";}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐