Perl哈希表用法解析

时间:2023-08-23 19:12:48 

本文和大家重点讨论一下Perl哈希表的概念,Perl语言和其他编程语言各有各的特点,这里和大家分享一下Perl哈希表的概念,其实Perl哈希表是一种结构。

Perl哈希表
Perl哈希表是一种结构。
key/value.
访问Perl哈希表元素
$Perl哈希表{$some_key}
当给Perl哈希表选择名字时,最好这样思考:Perl哈希表元素的名字和key之间可以用for来连接。如thefamily_nameforfredisflintstone.

要引用整个Perl哈希表,使用百分号(%)作为前缀。


#!/bin/perl   
usewarnings;  
usestrict;  

my$person;  
my%family_name;   
$family_name{"fred"}="flintstone";  
$family_name{"barney"}="rubble";  

foreach$person(qw<barneyfred>){  
print"I'veheardof$person$family_name{$person}.\n";  
}  
my%some_hash=("foo",35,"bar",12.4,25,"hello","wilma",1.72e30,"betty","bye\n");  
my@array_array=%some_hash=;  
print"@array_array\n"; 

哈希赋值方法大箭头符号(=>)


my%last_name=(  
"fred"=>"flintstion",  
"dino"=>undef,  
"barney"=>"rubble",  
"betty"=>"rubble",  
); 

keys函数会返回此Perl哈希表的所有keys,values含税将返回所有的values。如果Perl哈希表中没有元素,则此函数将返回空列表。


my@k=keys%last_name;  
my@v=values%last_name;  
my$count=keys%last_name;#scalar-producing,key/valuepairs  

print"thekeyare@k.\n";  
print"thevalueare@v.\n";  
print"thecountare$count.\n"; 

each函数

如果想迭代得到Perl哈希表中的每个元素,一个通常的方法是使用each函数,它将返回key/value对的元素对。当对同一个Perl哈希表函数进行一次迭代时,将返回下一个key/value对,直到所有的元素均被访问。


my$key;  
my$value;   
while(($key,$value)=each%last_name){   
#foreach(($key,$value)=each%last_name){  
print"$key=>$value.\n";  
}  


注意两种循环的结果,原因在于两种循环的设计机制不同。


foreach$key(sortkeys%last_name){  
$value=$last_name{$key};  
print"$key=>$value.\n";  
print"$key=>$last_name{$key}.\n";  
}

标签:Perl,哈希表
0
投稿

猜你喜欢

  • PHP变量作用域(全局变量&局部变量)&global&static关键字用法实例分析

    2023-11-23 11:42:05
  • php过滤器使用详解

    2023-06-13 01:52:23
  • Python模拟登录requests.Session应用详解

    2023-08-04 08:40:38
  • MySQL中join语句怎么优化

    2024-01-15 20:53:35
  • Python实现暴力破解wifi密码并打包成exe

    2022-04-27 22:24:29
  • Python实现的简单计算器功能详解

    2023-11-17 09:34:08
  • php中使用session_set_save_handler()函数把session保存到MySQL数据库实例

    2023-11-18 01:11:16
  • Python Numpy中数组的集合操作详解

    2023-12-04 12:02:24
  • tkinter自定义下拉多选框问题

    2022-09-27 06:40:00
  • CSS hack浏览器兼容一览表

    2007-08-14 10:35:00
  • wxPython实现分隔窗口

    2022-11-29 20:45:05
  • 利用python爬取软考试题之ip自动代理

    2023-01-30 01:17:28
  • Python脚本导出为exe程序的方法

    2022-08-22 21:33:05
  • Python3+Pygame实现射击游戏完整代码

    2022-10-14 00:15:02
  • 详解Python连接MySQL数据库的多种方式

    2024-01-19 05:29:59
  • vue后台管理添加多语言功能的实现示例

    2024-04-29 13:08:22
  • 简单介绍Python中的len()函数的使用

    2022-08-19 16:27:02
  • OpenCV实现图片亮度增强或减弱

    2022-09-16 00:15:04
  • 使用python实现数组、链表、队列、栈的方法

    2021-01-03 22:40:20
  • 运行asp.net时出现 http错误404-文件或目录未找到

    2023-07-24 01:53:36
  • asp之家 网络编程 m.aspxhome.com