Perl符号识别数据类型

perl和python相比最大的差别除了文化宗旨外,应该就是有没有奇形怪状的符号了,有时候完全不知道到底是要当作什么类型来处理,不过只要把变量的含义和用法弄清楚,再难也比不上C语言里直接来三个指针符号坑爹

$符号表示的是一个元素,可以是标量,也可以是数组或者哈希里的某个元素

$scalar

$array[0]

$hash{‘key’}

@符号表示一个数组,多个元素的集合,下面分别是数组切片和哈希切片

@array

@array[0, 3, 6]

@hash{qw(key1 key2)}

%符号表示一个哈希散列

&符号表示一个子程序

*符号表示符号表

大部分时候,perl里判断变量类型比较坑爹,因为往往程序当中,复杂一点的仅凭上面这些符号立马还不能完全能够判定变量类型,而是要要根据符号,变量名,特殊的关键字来共同决定,相比python这点只能用痛并快乐着来形容

    $        cpu        [2]

  符号   变量名    关键字

根据符号$可以看到$cpu[2]描述的是一个标量元素,名字是cpu,但是从后面的关键字使用的是数字下标来看,知道这里是一个数组元素

同样$age{‘lihui’}根据$知道描述的是一个元素,{}以及字符串作为key这个关键字可见描述的是hash名为age的一个元素

发表回复