Learning Perl chapter 4 练习题
原文發表在網易博客 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 练习题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle 数字与空值的排序问题
- 下一篇: 为“云”建牢固地基