perl入门程序.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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

文档评论(0)

wuyuetian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档