- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
perl入门程序
perl入门程序Perl 是一种容易学习和使用的语言。1.第一个程序示例:print Hollo, World!\n; # perl的输出类C 同类还有printf--格式输出,sprintf--格式预输出phrase = Howdy, world!\n; print $phrase; ? ? 请注意,在 Perl 中我们不必事先定义 $phrase 是什么类型的变量,$ 符号告诉 Perl, phrase 是一个标量,也就是包含单个数值的变量。与此对应的数组变量使用 @ 开头。(可以将 $ 理解成代表 s 或 scalar(标量),而 @ 表示 a 或 array (数组)来帮助你记忆。)2.perl的数据种类:? ? Perl 还有象“散列”(又名“哈希结构”或“hash”,或称“关联数组”),“句柄”(或称“资源符”),“类型团”(或称“指针”)等其他一些变量类型,与标量和数组一样,这些变量类型也是前导趣味字符,下面是你将会碰到的所有趣味字符:
类型 字符 例子 用于哪种名字 标量 $ $cents 一个独立的数值(数字或字串) 数组 @ @large 一列数值,用编号做键字 散列 % %interest 一组数值,用字串做键字 子过程 how 一段可以调用的 Perl 代码 类型团 * *struck 所有叫 struck 的东西 3.关于数组的解释:? ? 将食物中的水果列出,列表如下:? ? $food{fruit} = (apple, peach, banana, pear);? ???# 错? ? 很不幸,代码并不能象你希望的那样运转,因为在 Perl 中括弧和逗号还不够强大,还不能将一个列表转换成为标量(在语法中,圆括弧用于分组,逗号用于分隔)。你需要明确地告诉 Perl 你想将一个列表当成一个标量。[] 中括弧能够实现这个转换: ? ? $food{fruit} = [apple, peach, banana, pear];? ?# 正确 4.简单数据结构:? ? Perl 也有一些主题化的方法,最主要的就是使用 package 声明。例如你想在 Perl中讨论 Camels,你会在 Camel 模块中以下面的方法开头: ? ? package Camel;? ? 计算机科学家称之为一个 package 建立了一个名字空间,或称“命名空间”,基于OOP(面向对象编程)的设计方法。? ? use Camel;??# 使用Camel包? ? $fido = new Camel Amelia; # 实例化Camel包? ? 5.一个平均值例子: ? ? 假如你在一个班中教授 Perl 语言,并且你正在想如何给你的学生评分的方法。你有全班所有人每次考试的成绩,它们是随机的顺序,你可能需要一个所有同学的等级列表,加上他们的平均分。你有一份象下面一样的文本文件(假设名字为 grades): Noeuml;l 25Ben 76Clementine 49Norm 66Chris 92Doug 42Carol 25Ben 12Clementine 0Norm 66...你可以用下面所示的脚本将所有的成绩收集在一起,同时计算出每个学生的平均分数,并将它们按照字母顺序打印出来。这个程序天真地假设在你的班级中没有重名的学生,比如没有两个名为 Carol 的学生。如果班级中有两个 Carol,文件中所有以 Carol 开头的条目,程序都会认为这是第一个 Carol 的成绩(但是不会跟 Noel 的成绩混淆)。 顺便说一句,下面程序里的行号并不是程序的一部分,任何与 BASIC 类似的东西都是站不住脚的。 1??#!/usr/bin/perl 2? ?3??open(GRADES, grades) or die Cant open grades: $!\n; 4??while ($line = GRADES) {5? ?? ?($student, $grade) = split( , $line); 6? ?? ?$grades{$student} .= $grade . ; 7??} 8??9??foreach $student (sort keys %grades) {10? ?? ?$scores = 0;11? ?? ?$total = 0;? ? 12? ?? ?@grades = split( , $grades{$student});13? ?? ?foreach $grade (@grades) {14? ?? ?? ? $to
您可能关注的文档
最近下载
- 新22S6消防工程参考标准.docx
- 慢性肾脏病早期筛查、诊断及防治指南(2022年版).pptx VIP
- 家庭饮食健康计划.pptx VIP
- 2025年福建省厦门集美中学招聘办公室职员1人笔试备考题库及答案解析.docx VIP
- 级配碎石施工 ..ppt VIP
- 2022年7月上海高考英语真题(学生版+解析版+听力音频).docx
- DB44T 1212-2013 用能单位能源计量管理体系通用要求.pdf VIP
- 上-下气道慢性炎症性疾病联合诊疗与管理专家共识中华医学会呼吸病学分会哮喘学组(发布时间:2017-07).pdf VIP
- 心力衰竭诊疗规范.docx VIP
- 光照时间对三斑海马幼苗成活率和生长速度的影响.pdf VIP
文档评论(0)