55d #!/usr/bin/perl use CGI qw/:standard/; use File::stat; $| = 1; $ENV{"PATH"} = "@path@"; sub show_form { print h2("Add/Update/Delete a Grid User"); print start_form; print table({border=>"0"}, Tr( td({align=>"right"}, "User Name:"), td(textfield("user", "", 30), checkbox("Delete")) ), Tr( td({align=>"right"}, "Password:"), td(password_field("password", "", 30)) ), Tr( td({colspan=>"2"}, " 
") ), Tr( td(" "), td(submit("action", "Submit"), " ", reset) ) ); print end_form; } sub update { my ($err, $status, $user, $password, $del); $del = (param("Delete") eq "on"); if (! ($user = param("user"))) { $err = "Missing user name"; goto END; } if (! $del && ! ($password = param("password"))) { $err = "Missing password"; goto END; } if (`which wgpasswd`) { my $opt = "-d" if $del; $status = `wgpasswd $opt $user $password 2>&1`; } else { $err = "Can't execute \`wgpasswd'"; } END: if ($err =~ /^\s*$/) { print h2("Update Results"), pre($status); } else { print h2("Update Failed"), pre($err); } } print header; print start_html({title=>"Add/Update/Delete a Grid User", bgcolor=>"#d0d0d0"}); if (param()) {update} else {show_form} print end_html; . 0