home *** CD-ROM | disk | FTP | other *** search
/ ftp.cse.unsw.edu.au / 2014.06.ftp.cse.unsw.edu.au.tar / ftp.cse.unsw.edu.au / pub / doc / languages / perl / nutshell / ch6 / id < prev    next >
Encoding:
Text File  |  1992-10-18  |  454 b   |  17 lines

  1. #!/usr/bin/perl
  2.  
  3. # Usage: id
  4.  
  5. sub u { local($name) = getpwuid($_[0]); $name && "($name)";}
  6. sub g { local($name) = getgrgid($_[0]); $name && "($name)";}
  7. sub bynum { $a <=> $b; }
  8.  
  9. print "uid=$<", &u($<);
  10. print " gid=", $(+0, &g($();
  11. print " euid=$>", &u($>) if $> != $<;
  12. print " egid=", $)+0, &g($)) if $) != $(;
  13. @groups=split(' ', $(); shift(@groups);
  14. @groups && print " groups=",
  15.     join(',', sort bynum grep(($_ .= &g($_)) || 1, @groups));
  16. print "\n";
  17.