perl学习(三)

                      下面是我这几天学习perl写的练习。
use strict;
sub total {#求和的子例程
    my $sum = 0;
    foreach (@_) {
        $sum += $_;
    }
    return $sum;
}
sub average {#求平均的子例程
    return total(@_)/$#_;
}
sub  who_is_greater{#求比平均大的数的子例程
    my $average = average(@_);
    my @answer;
    foreach (@_) {
        if ($_ > $average) {
            push @answer,$_;
            push @answer," ";
        }
    }
    return @answer;
}
my @in = (1..10);
my @answer = who_is_greater(@in);
print @answer;
========================================================================================================
use strict;
sub max {#求最大值的子例程
    my($isMax) = shift @_;
    foreach(@_){
        if($isMax < $_){
            $isMax = $_;
        }
    }
    $isMax;
}
my @lines = qw {1 23 43 4323 32423423};
my $s = &max;
print $s,@lines;
===================================================================
use strict;
chomp(my $w = <STDIN>);
chomp(my @lines = <STDIN>);
print "1234567890" x (($w+9)/10),"\n";
my $format = "%${w}s\n" x @lines;
printf $format,@lines;
这是书上的一个例题
==========================================================================================================
use strict;
if (! open LOG,">logfile") {
    die "can't open logfile:$!";
}
print LOG "error!!!!";
close LOG;
if(! open LOG,"<logfile") {
    die "";
}
while(<LOG>) {
    chomp;
    print $_;
}
close LOG;
文件i/o操作
=================================================================================================================
chomp($x = <STDIN>);
chomp($n = <STDIN>);
if($n <=0) {
    $n *= -1;
}
$i = 1;
$sum = 0;
$temp = $x;
while($i <= $n){
    $sum += $temp;
    $i++;
    $temp = $temp*($x/$i);
}
print "sum is:$sum";
用来计算
x+x/2!+...+x/n!的值

你可能感兴趣的:(perl学习(三))