[root@stationx perl]# cat check.pl
#!/bin/perl
unless($#ARGV == 0){die "Usage: $0 <argument>: $!";}
open(PASSWD,"/etc/passwd")or die "cant open:$!";
$username=shift(@ARGV);
print "$username.n";(---改行可以不要,当时是为了测试用的!)
while($pwline=<PASSWD>){
??????? if($pwline =~/$username:/){print "$username is a system user heren";last;}
??????? else {die "$username is not a system user heren";}
}
close PASSWD;
open(LOGGEDON,"who|")or die "cant open:$!";
while($logged=<LOGGEDON>){
if($logged =~ /$username/){$logged_on=1;last;}
}
close LOGGEDON;
die "$username is not logged on.n" if !$logged_on;
print "$username is logged on and running these processed.n";
open(PROC,"ps aux|") or die "cant open: $!";
while($line=<PROC>){
print "$line" if("$line" =~/^$username/);
}
close PROC;
print "*"x 10,"n";
print "so long.n";
[root@stationx perl]# ?