用perl從/etc/passwd找出udi>500的用戶
cat pw.pl
#!/usr/bin/perl
$passwd="/etc/passwd";
open(PW,$passwd) || die "can't open $paswd:$!/n";
while (<PW>) {
($name,$passwd,$uid,$gid,$gcos,$dir,$shell)=split(/:/);
printf "$name/n" if($uid>500);
}
close(PW);
##########################################3
另一種方法利用了正則表達式強大的搜索功能
#!/usr/bin/perl
use strict;
open (FILE,"/etc/passwd");
while(<FILE>) {
if(/x:(/d+)/) {
printf "$1 /n" if ($1 > 500) && (/(/w+):x/) ;
}
}
close(FILE);