perl学习(2)hashes

一:  哈希概念

    是一种数据结构,可容纳很多值,并能随机存取;由关键字与索引值构成<key,value>;

    key值是唯一的

二:  应用场景:

    根据主机名找对应的IP地址,

    根据IP地址找主机名,

    按单词统计出现的次数,

    按驾照号码找出对应的姓名

    ....................

三:  哈希的声明与赋值

1:  声明%

    eg:my %tab;

2:  赋值

    A:使用列表对哈希进行赋值,但必须有偶数个成员(键/值对)。例如

    

    B:可用箭头符号=>将哈希赋值中的键/值区分开来

    

3:  hash可转换成列表

    eg:my @arrays = %tab;

4:  hash复制

    eg:my %new_hash=%hash;

      my %inverse_hash=reverse %hash(哈希值value唯一的情况才有效)

5:  访问哈希元素

    A:访问hash中的单个元素,使用花括号

      eg:my $value = $scores{$key};

      my $value2 = $scores {"xiaoming"};

    B:可以将单个的哈希元素内插到双引号字符串中

      eg:print “xiaoli's score is $scores{"xiaoli"} ”;

    C:%ENV 获取系统环境的配置信息(path)

      eg:

6:   例子

    

          输出:  

    use Data::Dumper;

    print Data::Dumper->Dumper([\%scores1],['scores1']);  #调用类Data::Dumper

三:  哈希操作

1:  keys

    返回关键字列表;my @name = keys %scores;

2:  values

    返回值列表;my @scores = values%scores;

3:  each

    返回一对值;my($name,$score) = each %scores

 4:  exists

    检查hash中是否存在指定的关键字,存在返回1;my $person = "xiaoming"; exists $scores{$person};

5:  delete

    删除hash中指定的键与对应的值;delete $scores{$person};

6:   例子

     

        接上文

      输出:

    

    

    

原文地址:https://www.cnblogs.com/xh13dream/p/8595243.html