大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> CGI专区 -> perl实例分析教程之十二

perl实例分析教程之十二

时间: 2021-07-31 作者:daque

六、从数组变量复制到关系数组 与列表一律,也不妨经过数组变量创造关系数组,固然,其元素数量该当为双数,如: @fruit = ("apples",17,"bananas",9,"oranges","none"); %fruit = @fruit; 反之,不妨把关系数组赋给数组变量,如: %fruit = ("grapes",11,"lemons",27); @fruit = %fruit; 提防,此语句中元素步骤不决义,那么数组变量@fruit大概为("grapes",11,"lemons",27)或("lemons",27,"grapes",11)。 关系数组变量之间不妨径直赋值,如:%fruit2 = %fruit1; 还不妨把数组变量同声赋给少许大略变量和一个关系数组变量,如: ($var1, $var2, %myarray) = @list; 此语句把@list的第一个元素赋给$var1,第二个赋给$var2,其他的赋给%myarray。 结果,关系数组不妨经过归来值为列表的内嵌因变量或用户设置的子步调来创造,下例中把split()因变量的归来值--一个列表--赋给一个关系数组变量。 1: #!/usr/local/bin/perl 2: 3: $inputline = ; 4: $inputline =~ s/^s+|s+n$//g; 5: %fruit = split(/s+/, $inputline); 6: print ("number of bananas: $fruit{"bananas"}n"); 运转截止如次: oranges 5 apples 7 bananas 11 cherries 6 number of bananas: 11 七、元素的增加和删除 减少元素仍旧讲过,不妨经过给一个未展示过的元素赋值来向关系数组中减少新元素,如$fruit{"lime"} = 1;创造下标为lime、值为1的新元素。 简略元素的本领是用内嵌因变量delete,如欲简略上述元素,则: delete ($fruit{"lime"}); 提防: 1、确定要运用delete因变量来简略关系数组的元素,这是独一的本领。 2、确定不要对关系数组运用内嵌因变量push、pop、shift及splice,由于其元素场所是随机的。 八、列出数组的索引和值 上头仍旧提到,keys()因变量归来关系数组下目标列表,如: %fruit = ("apples", 9, "bananas", 23, "cherries", 11); @fruitsubs = keys(%fruits); 这边,@fruitsubs被赋给apples、bananas、cherries形成的列表,再次提请提防,此列表没有步骤,若想按假名程序陈设,可运用sort()因变量。 @fruitindexes = sort keys(%fruits); 如许截止为("apples","bananas","cherries")。一致的,内嵌因变量values()归来关系数组值的列表,如: %fruit = ("apples", 9, "bananas", 23, "cherries", 11); @fruitvalues = values(%fruits); 这边,@fruitvalues大概的截止为(9,23.11),步骤大概各别。 九、用关系数组轮回 前方仍旧展示过运用keys()因变量的foreach轮回语句,这种轮回功效比拟低,由于每归来一个下标,还得再去探求其值,如: foreach $holder (keys(%records)){ $record = $records{$holder}; } perl供给一种更灵验的轮回办法,运用内嵌因变量each(),如: %records = ("maris", 61, "aaron", 755, "young", 511); while (($holder, $record) = each(%records)) { # stuff goes here } each()因变量历次归来一个双元素的列表,其第一个元素为下标,第二个元素为相映的值,结果归来一个空驶列车表。 提防:万万不要在each()轮回中增添或简略元素,要不会爆发不行预见的成果。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.