加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

learning perl(一)标量 数组 哈希

发布时间:2020-12-16 00:00:00 所属栏目:大数据 来源:网络整理
导读:初次学习perl语言,特写下博客记录自己的学习经历,既是一个简单的总结,也希望借此来使我坚持走下去。 perl有三种数据类型,分别是标量($),数组(@),哈希(%) 1.标量(scalar) perl中的标量与C++中的变量类似,不同的是不管是声明(perl不需要声明标

初次学习perl语言,特写下博客记录自己的学习经历,既是一个简单的总结,也希望借此来使我坚持走下去。


perl有三种数据类型,分别是标量($),数组(@),哈希(%)

1.标量(scalar)

perl中的标量与C++中的变量类似,不同的是不管是声明(perl不需要声明标量

)还是使用都要加’$‘符号,所谓标量,一个词,包含很多东西。

a)数字。如浮点数,整数(格式都是双精度浮点数),以及任意进制。数字中间可以用’_‘相连,如12_34_56_78 = 12345678。

操作符很简单了,四则运算(+-*/),取模(%),乘幂(2**3)。

b) 字符串。perl中的字符串没有限制,在内存允许范围内,可以任意长度

。字符串的分类有两种:

单引号内的字符串,如’hello‘,除了单引号和反斜线(需要加反斜线转义),其他字符都代表其本身。

双引号内的字符串,如"world",与上面相似,不过可以使用各种转义字符;还可以使用变量内插。

字符串操作符可以用'.'连接,如"hello"."world";字符串重复操作符’x‘(若是数字,会先取整),如“hi” x 3 = “hihihi”。


c) 数字与字符串的转换。perl会自动进行相互转换,这需要判断语境了。


d) 标量的赋值。与其他语言相同,也有=,+=,.= 等等。 如果标量未被赋值,则用空字符串代替。


e)比较操作符。==(eq), !=(ne), <(lt),?<=(le),?>(gt),?>=(ge)。


2.数组(array)


数组使用@符号表示,如@arr1。但是访问数组元素一般使用$arr1[0]。

数组的索引值可以为负,表示从最后一个算起,如$arr1[-1]表示数组最后一个元素。另外,取数组的总长度,即数组的元素个数,可以用$#arr1。

列表的赋值。@arr1 = qw/hello world /;使用范围操作符'..'可以表示一个范围,如1..4 相当于1 2 3 4。

数组的操作。可以使用pop,push,shift,unshift来获取或者放入数组前后的元素,如push @arr1,hello。 $val = pop @arr1。reverse 反转数组的元素,sort进行排序,使用foreach更好的输出,如 foreach $val(@arr1){

print "$valn";

}

可以输出全部元素。而如果不使用$val,会自动用默认变量$_代替,非常方便。

数组在不同的上下文环境会改变自己的含义,有时是一个数组,有时是一个标量。


3.哈希(hash)


哈希,通俗来说就是键-值对。用%hash表示。

哈希的赋值,一种是$hash{$key} = $val;一种是%hash = ("1" => "hello","2" => "world");

哈希函数。keys与values分别以数组返回哈希的全部键和值。而$num = %hash得到哈希的元素个数。each函数返回每个键值对,可以这样用:

while (($key,$val) = each %hash) {

print "$key => $valn";

}

exists函数,检查是否含有某个键,如 if (exists $hash{$key}){ }。delete函数,删除指定的键与值,如 delete $hash{$key}。

这些就是perl中基本的数据类型,非常简单,但是灵活掌握会对perl的使用有很大的帮助,一点总结非常有限,以后会随时补充。加油!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读