--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/ius-dav-htuseradd Fri Jul 15 10:28:04 2011 +0200
@@ -0,0 +1,48 @@
+#!/usr/bin/perl
+
+# Copyright (C) 2011 Matthias Förste
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# Matthias Förste <foerste@schlittermann.de>
+
+use strict;
+use warnings;
+
+use Ius::Dav::Htpasswd qw(mkpasswd readconfig useradd usage);
+
+use Getopt::Long;
+use Pod::Usage;
+
+my ($user, $expiry, $pass);
+
+GetOptions(
+ 'u|user=s' => \$user,
+ 'e|expiry=i' => \$expiry,
+ 'h|help' => sub { usage(-exit => 0, -verbose => 1) },
+ 'm|man' => sub {
+ usage(
+ -exit => 0,
+
+ # "system('perldoc -V &>/dev/null')" appears shorter, but may not
+ # do what you expect ( it still returns 0 on debian squeeze with
+ # dash as system shell even if cannot find the command in $PATH)
+ -noperldoc => system('perldoc -V >/dev/null 2>&1'),
+ -verbose => 2
+ );
+ },
+) and defined $user or usage;
+
+$pass = useradd readconfig, $user, mkpasswd, $expiry;
+print "[$pass]\n";