#!/usr/bin/perl # Einar Karttunen 28.3.2001 # this file must be distributed under GNU GPL use DBI; use DBD::Pg; print 'group name: '; $gn = <>; chomp $gn; print 'group id (random if none entered): '; $gid= <>; chomp $gid; unless($gid =~ /^\d+$/) { $gid = int(rand(500000)); } print 'space separated list of users to add: '; $u = <>; chomp $u; @users = split(' ',$u); print ("groupname=$gn, groupid=$gid, users="); foreach (@users) { print "$_\/"; } print "\ncontinue (y/n) "; exit unless(<> =~ /y/o); $dbh = DBI->connect("dbi:Pg:dbname=ressu", einar, poiu,{RaiseError => 1, AutoCommit => 1}); foreach $n (@users) { $val = $dbh->selectrow_array(q|SELECT usesysid FROM pg_user WHERE usename='|.$n.q|'|); push @a,$val; } $dbh->do(qq|INSERT INTO pg_group (groname, grosysid, grolist) VALUES ('$gn', '$gid', '{|.join(',',@a).q|}')|); $dbh->disconnect(); print "success\n";