在perl中,用标量(scalar)代表单数,也就是单个事物。
比如数字或者一个字符串。
这时候,你可能会问,字符串不是许多字符的集合么?怎么会是单数呢?好吧,对于perl而言,字符串就是一个独立的标量值。当然,我们仍然可以通过一些手段去访问字符串中的每一个值。
首先,看看整数常量吧。0,20,-50这样子,就是整数常量了。不过perl允许在整数中插入_,比如123_345_567这样子,代表123345567.
一样,整数也可以有16进制、8进制、2进制这样子。16进制0x开头,8进制0开头,二进制0b开头
浮点数常量。和其他语言一样的,可以是1.234,0.435,1.2e3这样子
字符串。一个字符序列,不过perl只支持字母、数字、标点符号这样子,说白了就是ASCII编码的32位到126位。支持中文咋办?这里不细说,可以加入use utf8;这样子
字符串可以被单引号包括,也可以被双引号包括。其实,个人感觉对单引号双引号处理最简单的就是python了。首先看单引号,除了单引号本身以及反斜线字符外,单引号所有的字符都代表他们自己。也就是说,当反斜线后面跟着单引号,或者反斜线后面跟着反斜线,才表示转义。再总结一下,单引号只认识两种转义字符,其他的都不认识,都作为普通字符处理。
再看双引号,其认识的转义字符就多得多了,具体也没法罗列,比如\n \r \t等单引号不认识的,双引号都认识
这里需要提一下,如果要链接字符串,中间要用.进行链接,无法像其他语言比如python这样,直接将两个字符串写在一起就可以了,perl可是会报错的哦
因为数字和字符串都属于单数,所以数字和字符串是可以进行自动转换的。比如,当我需要进行+法运算时,字符串会转换为数字,如下图所示
标量变量,就是用来存储一个标量的变量。以美元符号开头,后续跟一个字符、下划线开头的由字母、数字、下划线组成的变量名。比如:$name.$符号也被称为魔符,对perl而言,这个符号开头就代表着标量变量