原文发表在网易博客 2010-11-06 13:07:36

第1题和第2题

#!perl -w
#chapter 4 , exercise one and two
use strict;
sub total{
    my $sum;
    foreach $_ (@_){
        $sum += $_;
        }
        $sum;
    }
my @fred=(1,3,5,7,9);
print "sum of (@fred) is:\t ",&total(@fred),"\n";

print "sum of 1 to 100 is :\t",&total(1..100),"\n";

第3题

#!perl -w
#chapter 4 , exercise 3
use strict;
sub getSum{
    my $sum=0;
    foreach $_ (@_){
        $sum+=$_;
        }
    $sum;
    }
sub getAverage{
    my @abovelist=();
    my $length=@_;
    my $average=-1;
    $average=&getSum(@_)/$length;
    }
sub above_average{
    my @abovelist;
    my $average=&getAverage(@_);
    foreach $_ (@_){
        if($_ > $average){
            push @abovelist, $_
            }
        }
    return @abovelist;
    }
my @fred=&above_average(1..10);
print "above the average in one to ten is :(@fred)\n";

第4题

#!perl -w
use strict;
use 5.010;
sub greet1{
    state $lastPerson="";
    if(@_ ==1 ){
        if($lastPerson ne ""){
            print "Hi,$_[0]!$lastPerson is also here.\n";
            }else{
                print "Hi,$_[0]!You are the first one here!\n";
                }
        $lastPerson=$_[0];
        }
    }
&greet1("leipei");
&greet1("ada");

第5题

#!perl -w
use strict;
use 5.010;
sub greet2{
    state @personlist;
    if(@_ == 1){
        if(@personlist >0){
            print "Hi,$_[0]! I have seen:@personlist\n";
            }else{
                print "Hi,$_[0]! You are the firt one here.\n";
                }
        push (@personlist,$_[0]);
        }
    }
greet2("Fred");
greet2("Barney");
greet2("Wilma");
greet2("Betty");

Learning Perl chapter 4 练习题相关推荐

  1. Learning Perl学习笔记(1)第二章Scalar Data

    If Control Structure(IF循环) 脚本如下: #!/usr/bin/perl use warnings; use strict; use v5.24; my $line = < ...

  2. Learning Perl 2

    1.子程序 1).创建子程序:使用关键字sub sub marine { print "Hello, world\n"; } calling subroutines,使用& ...

  3. 机器学习(Machine Learning)深度学习(Deep Learning)资料(Chapter 2)

    机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2) - tony的专栏 - 博客频道 - CSDN.NET 注:机器学习资料篇目一共 ...

  4. Learning Perl(Perl语言入门)学习笔记(3)

    第四章 子例程   1.  子例程(subroutine)即用户自定义函数,子例程调用时通常在子例程名前加上"&"符号:子例程名属于独立的命名空间: 2.  子例程可以在程 ...

  5. Learning Perl 8

    符号引用 一般来说,类似$$var的结构表示,$var是一个引用变量,而且程序员希望该表达式能够返回$var所指向的值. 假如$var不是引用变量的话会出现什么情况呢?Perl并不是断然打印出错误信息 ...

  6. Learning Perl 4

    1. 控制结构 所有控制结构都可以做条件修饰符:command if (); unless(){} 等同于if(! ){} unless(){}else{} until(){} 等同于while(! ...

  7. 机器学习----(Machine Learning)深度学习(Deep Learning)资料(Chapter 1)

    文章转至:作者:yf210yf  感谢您提供的资源 资料汇总的很多,转载一下也方便自己以后慢慢学习 注:机器学习资料篇目一共500条,篇目二开始更新 希望转载的朋友,你可以不用联系我.但是一定要保留原 ...

  8. 用perl做ProjectEuler练习题01

    学习一门语言的最好方式就是去使用它.所以在语法不是特别熟练的时候就来做下欧拉练习题吧. ProjectEuler01:: #If we list all the natural numbers bel ...

  9. 机器学习(Machine Learning)深度学习(Deep Learning)资料(Chapter 1

    <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...

最新文章

  1. R语言union函数计算数据对象(vector、list、dataframe)的并集:union函数计算两个vector向量、dataframe、列表list的并集
  2. 人脸识别技术大总结——Face Detection Alignment
  3. C 标准库 - ctype.h之isalnum使用
  4. js 乘法除法精度问题
  5. JoSE:球面上的词向量和句向量
  6. Git分支创建、合并、上传等命令
  7. 举报入口_违法和不良信息举报中心
  8. 【Angular 4】Can't bind to 'ngModel' since it isn't a known property of 'input'
  9. Jmeter七、jmeter中的参数化
  10. C++学习笔记 之 循环
  11. 在Linux下使用命令发送邮件附件
  12. 从入门到放弃的华为手机忘记密码后的数据自救之旅
  13. Taro3 React hook怎么使用Taro-prase显示markdown文件?
  14. 前端高效开发必备的 js 库
  15. java实现统计pv和uv_shell统计pv与uv、独立ip的方法
  16. excel不显示提示对话框
  17. 阿里云盘正式上架,速度15MB/s!(附下载链接+阿里云盘邀请码)
  18. 如何将PPT进行压缩?简单的方法介绍
  19. c语言中将分钟的时间转换为小时和分钟并存的形式
  20. ie浏览器读取本地文件并上传

热门文章

  1. 使用Maven管理Eclipse Java项目(多modules编译)
  2. 中国古代天文星象学的入门书:《步天歌》
  3. JSON-lib 使用
  4. 鲁迅散文——狗的驳诘
  5. 深入理解Java虚拟机——第十二章——Java内存模型与线程
  6. 安全测试基础 -- 概述【转载】
  7. Exchange EMC打开出错 解决
  8. php绝对路径与相对路径之间关系的的深入研究
  9. SDOI 2006 - 保安站岗
  10. 安装Conda并在Conda下安装jupyter notebook