perl 中的哈希赋值】的更多相关文章

在perl 中,通过代码动态的给哈希赋值,是最常见的应用场景,但是有些情况下,我们事先知道一些信息,当需要把这些信息存放进一个哈希的时候,直接给哈希赋值就好: 哈希的key不用说,就是一个字符串,关键是value, 大概有下面3种: 1)一个值 就是一个普通的一维哈希,直接赋值即可 代码示例: my %hash = ( , , ); print qq{$hash{a}\n}; 2)一个列表 这种情况下直接把值写成一个列表是不行的,在perl中,哈希的值也是一个标量,所以应该用一个列表的引用 代码…
Perl中的哈希数据结构.相比较于数组,这种数据结构对于数据查找和统计更加方便. 一个特殊的哈希,%ENV,表示当前terminal下,通过setenv设置的variable的键值. 键:环境变量名,,,,值:环境变量值. 哈希是一种数据结构,由一对对的键(keys)--值(values)对来组成. 这些键和值都是任意的标量,但键总会被转换成字符串而且必须是唯一的字符串. 访问哈希元素,    $hash{$some_key}    ##和访问数组的做法类似,只是使用了花括号{}而非方括号[].…
哈希和数组是Perl中较为常用的结构,本文则重点讨论数组和哈希的一些基本用法,供广大喜爱Perl的同学们交流学习. 哈希 Perl中的哈希表类似于Python中的字典结构,由(键=>值)对构成,以"%"开头: 定义:%hash = ('a'=>1,'b'=>2,'c'=>3);或 %hash = ('a',1,'b',2,'c',3); 访问:$hash{'a'}; #直接用花括号访问 插入元素:$hash{'d'} = 4; #('a'=>1,'b'=&…
在打印环境变量的时候可以用到.实际上是%ENV,perl中的哈希变量,里面保存的是环境变量.键是环境变量名,值是环境变量值.例如,有一个环境变量是PATH,其值为C:\windows,那么,打印这个环境变量的方法就是:print($ENV{PATH}); #!usl/bin/perl my $directory = $ENV{ZION_HOME}; print "Environment:$directory";#打印环境变量,D:\ZionProjects exit 0 unless…
grep函数 (如果你是个的新手,你可以先跳过下面的两段,直接到 Grep vs.loops 样例这一部分,放心,在后面你还会遇到它) <pre>grep BLOCK LISTgrep EXPR, LIST</pre>grep 函数会用 LIST 中的元素对 BLOCK 或 EXPR 求值,而且会把局部变量 $_ 设置为当前所用的 LIST 中的元素.BLOCK 块是一个或多个由花括号分隔开的Perl 语句,而 List 则是一有序列表.EXPR 是一个或多个变量,操作符,字符,函…
Perl中读取标准输入:<STDIN> foreach (<STDIN>)  { print "I saw $_";} 钻石操作符<>:它的参数来源于@ARGV数组. 先检查@ARGV数组,如果为空,则从标准输入流输入.@ARGV的值可以来自命令行,也可以自己赋值. ./program  fred  barney betty     #@ARGV的值便是命令行后的三个文件. while (<>)   {  chomp;   print &…
Perl 哈希变量哈希是 key/value 对的集合.Perl中哈希变量以百分号 (%) 标记开始.访问哈希元素格式:${key}. 1.创建哈希创建哈希可以通过以下两种方式: 1.为每个 key 设置 value.$data{'aa'} = 'aa.com';$data{'bb'} = 'bb.com';$data{'cc'} = 'cc.com'; 1.通过列表设置.1.1列表中第一个元素为 key,第二个为 value.%data = ('aa', 'aa.com', 'bb', 'bb…
哈希 哈希是一种数据结构,它和数组的相似之处在于可以容难任意多的值并能按需取用,而他和数组的不同在于索引的方式,数组是以数字为索引而哈希则是以名字为索引. 哈希的键是唯一的,哈希的值可以重复. 哈希的应用场景 举例: 按名字找姓: 按主机名找IP地址或者按照IP地址找主机名: 按照单词统计其出现次数: 按用户名统计每个人使用的磁盘块数量: 按照驾照号码找出姓名. 访问哈希元素 如:$hash{$some_key} //注意使用的是大括号{} 不是中括号 赋值: $family_name{'fre…
在Perl中使用s///进行替换操作,与m//进行查找操作类似. s/with (\w+)/against $1's team/;      ##第一个双斜线,表示被替代的文本.第二个双斜线,表示将替代为的文本. s///可以有不同的定界符,但是必须保证两对字符.一对包住模式,一对包住替换字符串. s#^https://#http://#;                    ##使用#号,分别包住模式和替换字符串. s{}();                                …
#!/usr/bin/perl -w @array = qw(a b c d); foreach (@array) { print $_," "; } 例子的作用就是定义一个数组并把其中的元素打印出来,这里需要注意的是foreach循环部分,foreach循环的标准格式应该是: foreach $element (@array){ ...... } 其中数组@array将其中的元素依次赋值给$element,但是在上面那个程序中,我并没有这样做,在程序中,我就使用到了perl中内置的一…