请问怎么给perl里的标量,哈希,数组赋初值?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问怎么给perl里的标量,哈希,数组赋初值?相关的知识,希望对你有一定的参考价值。
参考技术A perl 中的哈希赋值在perl 中,通过代码动态的给哈希赋值,是最常见的应用场景,但是有些情况下,我们事先知道一些信息,当需要把这些信息存放进一个哈希的时候,直接给哈希赋值就好;
哈希的key不用说,就是一个字符串,关键是value, 大概有下面3种:
1)一个值
就是一个普通的一维哈希,直接赋值即可
代码示例:
my %hash = ('a' => 1,'b' => 2,);print qq$hasha\n;
2)一个列表
这种情况下直接把值写成一个列表是不行的,在perl中,哈希的值也是一个标量,所以应该用一个列表的引用
代码示例:
my %hash = ('a' => [1, 2, 3],'b' => [1, 2, 3],);
print qq$hasha->[0]\n;
3)一个哈希
和列表类似,直接用哈希的引用就可以了
代码示例:
my %hash = ('a' => '1' => 1, '2' => 2,'b' => ' 1' => 1, '2' => 2,);
print qq$hasha->1\n;
上面这种情况,其实就是申明了一个二维哈希
Perl 引用的知识整理
由于列表和哈希的元素只能接受标量,使用引用才可以构建更复杂的数据结构。
Perl 引用是使用一个标量类型去表示变量、数组、哈希表和子程序。本文为互联网资料的学习,搬运和整理。
1 创建引用
创建引用有直接引用,匿名数组和匿名哈希
1.1 在变量名前面加上\,则得到这个变量的引用,用一个标量进行代替。
# 标量的引用
my$scalar="chrom" ;
my$scalar_ref=\$scalar ;
#数组的引用
my@array= (1,2,3) ;
my$array_ref=\@array ;
# 哈希的引用
my%hash= ("name"=>"zdd","age"=>30,"gender"=>"male") ;
my$hash_ref=\%hash ;
# 子过程引用
$code_ref = \&handler;
# 句柄的引用
$glob_ref = \*foo;
以上是关于请问怎么给perl里的标量,哈希,数组赋初值?的主要内容,如果未能解决你的问题,请参考以下文章