#!/usr/local/bin/perl # # /etc/passwd importer # use Pg; $dbmain="ovid_users"; $table="users1"; %groups=(gid=>{name}); open(PASSWD,"/etc/passwd"); open(GROUPS,"/etc/group"); $conn = Pg::connectdb("dbname=$dbmain"); die $conn->errorMessage unless PGRES_CONNECTION_OK eq $conn->status; while () { @values=split /:/; $groups{$values[2]}{name}=$values[0]; } while () { s/\'/\\'/g; @values=split /:/; $first_name=""; $last_name=""; $last=""; $fullname=$values[4]; $fullname=~/(\S*)$/; $last=$1; $fullname=~/(^[\S\s]*) $last/; # if (($values[2] > 60000) || ($values[2] < 1000)) { next;} if ($values[0]!="mbel") {next;} # print "First: $1\nLast:$last\n\n"; $last_name=$last; $first_name=$1; $username=$values[0]; $status=$groups{$values[3]}{name}; if ($last_name eq "") { $last_name="Name"}; if ($first_name eq "") { $first_name="No"}; $query="SELECT * FROM $table WHERE login='$username';"; $result=$conn->exec("$query"); if ($result->fetchrow()) { print "account $username already exists!\n"; } # $query="INSERT INTO $table VALUES ('IMPORTED','$last_name','$first_name','$username','','','','','','','','','','$status');"; # $result=$conn->exec("$query"); # print $conn->errorMessage; # die $conn->errorMessage unless PGRES_TUPLES_OK eq $result->resultStatus; }