两段Perl脚本代码(数组应用与say用法)

时间:2022-09-09 20:44:14

一、数组应用

复制代码 代码如下:


#!/usr/bin env perl
@zeng = `top -b -n 1`;
foreach (@zeng) {
print "$_\n";
}


二、say的用法:自动换行

复制代码 代码如下:


#!/user/bin env perl
use 5.010; #表示使用perl 5.10的版本。
say "Hello World!";
my @fred = above_average(1..10);
print "\@fred is @fred\n";
print "(Should be 6 7 8 9 10)\n";
my @barney = above_average(100, 1..10);
print "\@barney is @barney\n";
print "(Should be just 100)\n";
sub average {
  if (@_ == 0) { return }
  my $count = @_;
  my $sum = total(@_);
  $sum/$count;
  }

  sub above_average {
    my $average = average(@_);
    my @list;
    foreach my $element (@_); {
     if ($element > $average) {
        push @list, $element;
    }
  }
  @list;
  }

 

复制代码 代码如下:


#!/usr/bin/perl -w
use 5.010;
greet( 'Fred');
greet( 'barney');
sub greet {
  state $last_person;
  my $name = shift;
  print "Hi $name!";
  if ( defined $last_person ) {
    print "$last_person is also here!\n";
    }
    else {
        print "You are the first one here!\n";
        }
        $last_person = $name;
        }
greet( 'Fred' );
greet( 'barney' );
greet( 'wilma' );
greet( 'Betty' );
sub greet {
    state @names;
    my $name = shift;
    print "Hi $name!";
    if ( @names ) {
        print "I've seen: @names\n";
        }
    else {
        print "You are the first one here!\n";
        }
        push @names, $name;
        }