匿名hash】的更多相关文章

[root@oadb test]# cat a1.pl use Data::Dumper; my @a=qw/1 3 5 7 9/; push @b ,{@a}; print Dumper(@b); print "\n"; print $b[0]->{1}; print "\n"; [root@oadb test]# perl a1.pl $VAR1 = { '1' => '3', '9' => undef, '5' => '7' }; 3…
可有构建匿名的对象,这样就没必要去为只用一两次的数组.hash去取名字,有时候取名是很烦的事. 使用中括号[]构建匿名数组 使用大括号{}构建匿名hash 不包含任何元素的[]和{}分别是匿名空数组.匿名空hash 构造匿名对象 例如,在数组.hash中构建匿名数组: @name=('fairy',['longshuai','wugui','xiaofang']); %hash=('longshuai' => ['male',18,'jiangxi'], 'wugui' => ['male',…
写这篇是因为工作遇到一个需要使用列表作为hash的值的问题,这在Python中是非常简单而轻松的事,如下面这段python程序. def add_to_index(index, keyword, url): if keyword in index: index[keyword].append(url) else: index[keyword] = [url] 但在Perl中怎么办呢?答案是使用引用,同样轻松搞定. 创建引用 1.使用\操作符 #标量引用 ; my$sref=\$scalar ;…
sort函数 sort LISTsort BLOCK LISTsort SUBNAME LIST sort 的用法有如上3种形式.它对LIST进行排序,并返回排序后的列表.假如忽略了SUBNAME或BLOCK,sort按标准字串比较顺序来进行(例如 ASCII顺序).如果指定了SUBNAME,它实际上是个子函数的名字,该子函数对比2个列表元素,并返回一个小于,等于,或大于0的整数,这依赖于元 素以何种顺序来sort(升序,恒等,或降序).也可提供一个BLOCK作为匿名子函数来代替SUBNAME,…
一) sort函数用法 sort LISTsort BLOCK LISTsort SUBNAME LIST sort的用法有如上3种形式.它对LIST进行排序,并返回排序后的列表.假如忽略了SUBNAME或BLOCK,sort按标准字串比较顺序来进行(例如ASCII顺序).如果指定了SUBNAME,它实际上是个子函数的名字,该子函数对比2个列表元素,并返回一个小于,等于,或大于0的整数,这依赖于元素以何种顺序来sort(升序,恒等,或降序).也可提供一个BLOCK作为匿名子函数来代替SUBNAM…
5. 9. 1. 练习1 [5 分钟] 先不要运行程序, 看看你能否判断出这程序的哪部份出了问题?如果你看不出 来, 就可以运行一相程序, 得到些暗示, 来看是否能修改好: my %passenger_1 = { name => 'Ginger', age => 22, occupation => 'Movie Star', real_age => 35, hat => undef, }; my %passenger_2 = { name => 'Mary Ann',…
$ua->post( $url, \%form ) $ua->post( $url, \@form ) $ua->post( $url, \%form, $field_name => $value, ... ) $ua->post( $url, $field_name => $value,... Content => \%form ) $ua->post( $url, $field_name => $value,... Content => \@…
有时候可能会需要检查引用是什么类型的,免得我们期待是一个数组引用,却给了一个hash引用. ref函数可以用来检查引用的类型,并返回类型.perl中内置了如下几种引用类型,如果检查的不是引用,则返回undef. SCALAR ARRAY HASH CODE REF GLOB LVALUE FORMAT IO VSTRING Regexp 例如: @name=qw(longshuai xiaofang wugui tuner); $ref_name=\@name; %myhash=( longsh…
输出复杂结构 Data::Dumper.Data::Dump.Data::Printer都可以用来输出复杂的数据结构.本文只介绍简单的几个输出形式,以后再需要的地方再详细介绍. 前两者建议传递数据结构的引用给对应的函数.方法,当然直接传递非引用也不会错(标量.数组.哈希或引用都允许).第三个Printer,则可以自动判断是否是引用. 例如,下面的数据结构,一个是复杂的hash,一个是相对简单的匿名数组引用,分别使用这3个模块来输出. %Config = ( 'auto_commit' => '0…
本系列: Perl面向对象(1):从代码复用开始 Perl面向对象(2):对象 Perl面向对象(3):解构--对象销毁 第3篇依赖于第2篇,第2篇依赖于1篇. 已有的代码结构 现在有父类Animal,子类Horse,它们的代码分别如下: lib/Animal.pm中: #!/usr/bin/env perl use strict; use warnings; package Animal; sub speak { my $class = shift; print "a $class goes…