Calendar
数据载入中,请稍候......
Placard
数据载入中,请稍候......
Category
数据载入中,请稍候......
Latest Entries
数据载入中,请稍候......
Latest Comments
数据载入中,请稍候......
Last Messages
数据载入中,请稍候......
User Login
数据载入中,请稍候......
Links
Information
数据载入中,请稍候......
Search
Other


Welcome to my blog!
  指定查询用户信息(复习基本用法)
 

#!/usr/bin/perl -w
#Author:Hahazhu
#DATE:04/29/2008 11:02
#Role:view user information based on user name.
#USAGE:programe root

use strict;

my %search_name = ();
my @names;
my $i;

sub true_examples{
   print "USAGE:Program arg1\n";
   exit 1;
}
open(F,"/etc/passwd");

while(<F>){
  my ($name,$f1,$f2,$f3,$group,$home,$bash)=split(/\:/,$_);
  push( @names,$name);
  Create_Entries($name,$group,$home,$bash);
}

close F;

sub  Create_Entries{
     my($name,$group,$home,$bash)=@_;
     my $rl=[$group,$home,$bash];
     push (@{$search_name{$name}},$rl);
}

my $numargs=@ARGV;
if( $numargs != 1 ){
  &true_examples;
}
my $input_name = $ARGV[0];
print_search_name($input_name);

sub print_search_name{

  my ($input_name)=@_;

  foreach(@names){
     if($_ eq $input_name){
         print $input_name." information:\n";
         print "\tGroup:$search_name{$input_name}[0][0]\n";
         print "\tHome:$search_name{$input_name}[0][1]\n";
         print "\tBash:$search_name{$input_name}[0][2]";
         exit 0;
     }
     else
         { $i = 0 }
  }
  if ( $i == 0 ){
      print "\tERROR:ARG Error!\n";
      print "True ARG:\n";
      &print_arg;
      print "\n";
 }
}

sub print_arg{
  foreach(@names){
     print "\t".$_." ";
  }

}

[ 阅读全文 | 回复(0) | 引用通告 | 编辑

  Post  by  badboy 发表于 2008-4-29 10:56:00
发表评论:
数据载入中,请稍候......
数据载入中,请稍候......