两段Perl脚本代码(数组应用与say用法)
#!/usr/bin env perl
@zeng = `top -b -n 1`;
foreach (@zeng) {
print "$_\n";
}
#!/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;
}