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

perl的变量与括号

发布时间:2020-12-15 23:54:25 所属栏目:大数据 来源:网络整理
导读:perl的变量与括号 tkorays(tkorays@hotmail.com) 更喜欢在坑上乱跳 ??????? perl中的括号很有意思,各种括号开始的时候真有些让人有点迷糊。但是渐渐地会发现,这里面都是有规律可循。 基础变量类型 ??????? perl基础的变量有标量(SCALAR)、数组(ARRAY
perl的变量与括号

tkorays(tkorays@hotmail.com)
更喜欢在坑上乱跳


??????? perl中的括号很有意思,各种括号开始的时候真有些让人有点迷糊。但是渐渐地会发现,这里面都是有规律可循。

基础变量类型

??????? perl基础的变量有标量(SCALAR)、数组(ARRAY)、哈希(HASH)。

?????? 标量的标识符是以$(scalar)开头,可以表示数字或字符串,如:$a=1;$b='abc';

?????? 数组的标识符是以@(array)开头,用来表示一系列类型相同的变量。如:@a=(1,2,3);@b=(’a','b','c');注意!后面使用的是圆括号。取值使用下标(从0开始),如$a[0]。这里取值时前面是$,可以这样理解:因为取得的值是一个标量。而下标处用的是方括号,这个值得注意下。

??????? 哈希的标识符是以%开头,用来表示一系列键值对。可以用数组的方式定义,也可以使用=>方式,如下:%a=('a',1,2);%b=('a'=>1,'b'=>2);注意,这里也是圆括号。访问值和数组差不多,$a{'a'}。这里key使用的是花括号。

??????? 其实,数组、哈希的括号也有一定的规律,挺有意思的。直接定义时都使用(),而访问则分别用[]和{}。另外后面讲到的匿名存储中的匿名数组和匿名哈希也是分别用[]和{}来定义的。

引用

??????? 对于熟悉c/c++的来说,引用应该比较熟悉。在很多场合下使用引用传值,能在很大程度上提高代码的运行效率。

??????? 那么如何定义一个引用呢?

??????? 其实很简单,在变量名前加一个””就可以了,如:$ra=$a;$rb=@b;$rc=%c;变量名前面依然是$。

??????? 而得到的引用是不能直接当做变量使用,需要解引用。解引用的方法是在变量名前加上变量原本类型所对应的符号。比如$rb是对一个数组的引用,那为了得到数组,就可以使用@$rb来得到整个数组。可以通过两种方式访问数组中数据,一种是$$rb[1],另一种是使用“->”符号$rb->[1]。明显第二种方式更加简洁。对哈希的操作类似$$rc{a},$rc->{a}。

匿名存储 ??????? 匿名数据结构也是经常用到的,比如在useragent的post方法中会传递一个匿名的hash表。 ??????? 匿名数组的创建不再是使用(),而是[];同样匿名hash使用{}创建,而不是()。注意,它返回的是引用!$ra={'a'=>1,'b'=>2};$ra->{a}=3;print$$ra{a};

(编辑:李大同)

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

    推荐文章
      热点阅读