home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume28 / sybperl / part01 / eg / capture.pl next >
Encoding:
Perl Script  |  1992-02-10  |  1.6 KB  |  91 lines

  1. #! /usr/local/bin/sybperl
  2.  
  3. require "sybperl.pl";
  4. require "sql.pl";
  5.  
  6. #
  7. # Log us in to Sybase.
  8. #
  9. $d = &dblogin;
  10.  
  11. &sql($d, "set statistics io on");
  12. &sql($d, "set statistics time on");
  13.  
  14. #
  15. # Count the number off password tables.
  16. #
  17. @results = &sql($d, '
  18.         select count(*) from sysobjects
  19.         where name = "password" and type = "U"'
  20.        );
  21.  
  22. #
  23. # If there is none create it else truncate it.
  24. #
  25. if(@results[0] == 0) {
  26.     &sql($d, '
  27.         create table password(
  28.             username char(8),
  29.             uid int,
  30.             gid int,
  31.             shell varchar(30),
  32.             home varchar(30)
  33.         )'
  34.     );
  35.     print "The password table has been created.\n";
  36. } else {
  37.     &sql($d, 'truncate table password');
  38.     print "The password table already exists. Table truncated!\n";
  39. };
  40.  
  41. #
  42. # Read the password entries and add them to the database.
  43. #
  44. while (($n,$p,$u,$g,$q,$c,$gc,$d,$s)= getpwent) {
  45.     print "Adding $n.\n";
  46.     &sql($d, "
  47.         insert password
  48.         values(\"$n\", $u, $g, \"$s\", \"$d\")
  49.         "
  50.     );
  51. };
  52. endpwent;
  53.  
  54. #
  55. # Count the number off group tables.
  56. #
  57. @results = &sql($d, '
  58.         select count(*) from sysobjects
  59.         where name = "groups" and type = "U"'
  60.        );
  61.  
  62. #
  63. # If there is none create it else truncate it.
  64. #
  65. if(@results[0] == 0) {
  66.     &sql($d, '
  67.         create table groups(
  68.             groupname char(8),
  69.             gid int
  70.         )'
  71.     );
  72.     print "The groups table has been created.\n";
  73. } else {
  74.     &sql($d, 'truncate table groups');
  75.     print "The groups table already exists. Table truncated!\n";
  76. };
  77.  
  78. #
  79. # Read the group entries and add them to the database.
  80. #
  81. while (($gn,$gp,$gg,$gm)= getgrent) {
  82.     print "Adding group $gn.\n";
  83.     &sql($d, "
  84.         insert groups
  85.         values(\"$gn\", $gg)
  86.         "
  87.     );
  88. };
  89. endgrent;
  90.  
  91.