太平洋汽车网 | 太平洋游戏网 | 太平洋女性网 | 太平洋亲子网 | PC购物网  网站地图  
太平洋电脑网
首    页
产业资讯
行情报价产品库
数据调研评测室
服 务 器网络设备
方案应用办公设备
软件资讯产品论坛PCclub社区
下载中心软件论坛摄影部落
渠道商情通信游戏科技奥运
图库二手招聘培训
diyDIY硬件 手机手  机 笔记本笔记本 台式机台式机

数码世界

数码相机数码相机 随身听MP3/MP4 摄像机摄像机 数字家电数字家电 精品廊精品廊
北京 上海 广州 深圳 香港 广西 重庆 武汉 山东 江苏 辽宁 福建 成都 西安 江西 湖南 黑龙江 台湾
 
 
   
软件 首页 | 资讯 | 应用 | 评测 | 教你学电脑 | 信息安全 | 创意设计 | 开发特区 | 软件下载 | 专题 | 社区
 
软件 特色专区: QQ大本营 | Vista专区 | msn总动员 | 组网专栏 | Photoshop | 视频专栏 | 常用软件
 
您现在的位置: 软件  >  开发特区  >  Web开发  >  CGI

perl实例分析教程之十

出处:奥索网[ 2004-02-14 09:33:53 ] 作者:flamephoenix 责任编辑:pjl

导 读  
  perl实例分析教程之十
一、数组变量的限制    在前面讲的数组变量中,可以通过下标访问其中的元素。例如,下列语句访问数组@array的第三个元素: $scalar = $array[2]; 虽然数组很有用,但它们有一个显著缺陷,即很难记住哪个元素存贮的什么内容。假如我们来写一个程序计算某文件中首字母大写的单词出现的次数,用数组来实现就比较困难,程序代码如下: 1 : #!/usr/local/bin/perl 2 : 3 : while ($inputline = ) { 4 : while ($inputline =~ /b[A-Z]S+/g) { 5 : $word = $&; 6 : $word =~ s/[;.,:-]$//; # remove punctuation 7 : for ($count = 1; $count <= @wordlist; 8 : $count++) { 9 : $found = 0; 10: if ($wordlist[$count-1] eq $word) { 11: $found = 1; 12: $wordcount[$count-1] += 1; 13: last; 14: } 15: } 16: if ($found == 0) { 17: $oldlength = @wordlist; 18: $wordlist[$oldlength] = $word; 19: $wordcount[$oldlength] = 1; 20: } 21: } 22: } 23: print ("Capitalized words and number of occurrences:n"); 24: for ($count = 1; $count <= @wordlist; $count++) { 25: print ("$wordlist[$count-1]: $wordcount[$count-1]n"); 26: } 运行结果如下: Here is a line of Input. This Input contains some Capitalized words. ^D Capitalized words and number of occurrences: Here: 1 Input: 2 This: 1 Capitalized: 1 这个程序每次从标准输入文件读一行文字,第四行起的循环匹配每行中首字母大写的单词,每找到一个循环一次,赋给简单变量$word。在第六行中去掉标点后,查看该单词是否曾出现过,7~15行中在@wordlist中挨个元素做此检查,如果某个元素与$word相等,@wordcount中相应的元素就增加一个数。如果没有出现过,即@wordlist中没有元素与$word相等,16~20行给@wordlist和@wordcount增加一个新元素。 二、定义   正如你所看到的,使用数组元素产生了一些问题。首先,@wordlist中哪个元素对应着哪个单词并不明显;更糟的是,每读进一个新单词,程序必须检查整个列表才能知道该单词是否曾经出现过,当列表变得较大时,这是很耗费时间的。 这些问题产生的原因是数组元素通过数字下标访问,为了解决这类问题,Perl定义了另一种数组,可以用任意简单变量值来访问其元素,这种数组叫做关联数组,也叫哈希表。 为了区分关联数组变量与普通的数组变量,Perl使用%作为其首字符,而数组变量以@打头。与其它变量名一样,%后的第一个字符必须为字母,后续字符可以为字母、数字或下划线。 三、访问关联数组的元素   关联数组的下标可以为任何简单/标量值,访问单个元素时以$符号打头,下标用大括号围起来。例如: $fruit{"bananas"} $number{3.14159} $integer{-7} 简单变量也可作为下标,如: $fruit{$my_fruit}
前一页 [1] 下一页
下一篇:perl实例分析教程之十一
 今日论坛热贴推荐
·几秒钟合并N个TXT文件
·技巧:怎么清除Windows 7视频锯齿现象
·揭密网游帐号是怎样被盗的全过程
·没有刻录机?Windows 7硬盘安装四大法
·Windows 7将解决微软的“纠结”
·全球首款装正版win7的thinkpad x200
·十大理由决定Windows 7成败
·微软官网首次提及Windows 7 SP1
·从Windows桌面看性格【娱乐】
·惊现google官方Chrome Os下载!?
更多资讯请点击: perl实例分析 

  发给好友 我要报错 投稿给我们 加入收藏 返回顶部  
相关文章  

About Us | 关于我们 | 隐私政策 | 广告服务 | 联系我们 | 招聘精英 | 网站律师 | 合作联系 | 友情链接
太平洋专业网站群:  太平洋电脑网 ┊ 太平洋汽车网 ┊ 太平洋游戏网 ┊ 太平洋女性网 ┊ 太平洋亲子网

广东省通信管理局
ICP证粤B2-20040647
互联网清理整顿
技术支持与报障:support@pconline.com.cn
        020-87568837         
对本站有任何建议、意见或投诉,请点这里在线提交.
本网站简体、繁体两种版本,以简体版为准
PConline版权所有,未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任