Perl
标量
-
数字标量
全部为双精度浮点型
$data=10; $data=10.00;
普通的表示方法:3.1415926,-500
科学计数法:2.18e22,2.18E22,5.16e-10
较长的且不带小数点的数字可以用下划线隔开:3_141_592_639
非十进制数:
二进制,以0b开头:0b11
八进制,以0开头:0377
十六进制,以0h开头:0ha3
-
字符串标量
标量值为字符串,有引号标识
字符串由可输出的字母、数字和标点符号组成
$data=“Hello,World”
字符串的引号既可以是单引号,也可以是双引号
转义字符
\n 换行 \r 回车 \t 水平制表符 \f 换页符 \l 下个字符转小写 \u 下个字符转大写 -
标量的申明
标量可以在任意位置随时申明并使用
$test1=5; $test2=10; .... my $result = $test1+$test2
标量名可以是字母、数字或者下划线,区分大小写
-
变量作用域
$data:直接申明的变量为全局变量
my $data:my定义的变量只在本层模块可见
local $data:local定义的变量可以在本层及以下可见
数组
数组是标量数据的有序列表,是多个标量数据的一种集合。
可以包含任意多个元素,从0到全部占满内存。
以@符号作为标识。
-
列表直接量:
包含了一系列的列表,以括号为标识,中间用逗号隔开
(1,2,3) | ##包含1,2,3三个数字的列表 |
---|---|
(1,2,3) | ##三个数字,最后逗号被省略 |
(“test”,4.5) | ##两个值 |
() | ##空列表:零个元素 |
-
也可以用范围操作符“…”来产生列表直接量:
该操作符会从左边的数字技术到右边,每次加1,产生一连串数字
(1…5) | ##代表(1,2,3,4,5) |
---|---|
(5…1) | ##空列表,从左到右,往上加 |
(0,2…6,10) | ##代表(0,2,3,4,5,6,10) |
($m…$n) | ##两个标量值之间累加产生的数字 |
-
对于纯字符串列表,使用“qw”来表示,可以省去对字符串加引号的过程。
qw(string1 string2 string3) ##空格、制表符、换行作为间隔符
等价于:(“string1” “string2” “string3”)
也可以用其他任何标点符号作为定界符,代替括号
qw !string1 string2 string3!
qw /string1 string2 string3/
-
对数组进行赋值,可以直接将列表量传递给数组
@array=(“sttring1”,1.5,418)
@array=qw(string1 string2 string3)
如果列表直接两中包含标量、数组,则会进行取值作为元素,如:
$test1=“Hello”
@array=(“World”,123)
@array2=($test1,@array,“How are you”)
##@array=(“Hello”,“World”,123,“How are you”)
-
数组之间进行赋值:
@array1=(“string1”,1.5,418)
@array2=@array1
##@array2=(“string1”,1.5,418)
-
t特殊的数组赋值方法:
pop和push赋值
shift和unshift赋值
-
pop操作符:
取出数组中最后一个元素,同时返回该元素值。
@array=(5..9) ##@array是(5,6,7,8,9) $test1=pop(@array) ##$test1为9,@array是(5,6,7,8) $test2<
-