#!/usr/bin/perl -w
our $usage1 = <<'END';
-usage: ../fyvzl [OPTIONS DATABASE-FILE ACTION ARG
+usage: ../fyvzl [<options>] <database-file> <action> <arg>...
options
- -l<minrandlength> (for create/choose, number of letters)
+ -l<minrandlength> (for create/choose, minimum randlength)
-m<maxperuser>
-d<dom>
-q<qualdom>
END
our $usage2 = <<'END';
actions
- create [GENOPTS] [REDIRECT] [#COMMENT] (default for REDIRECT is username)
- choose [GENOPTS] [REDIRECT] [#COMMENT] (generate and interactively allocate)
- update ADDR [REDIRECT] [#COMMENT]
- show ADDR
+ create [<genopts>] [<redirect>] [#<comment>] (default redirect is username)
+ choose [<genopts>] [<redirect>] [#<comment>] (interactively allocate)
+ update <addr> [<redirect>] [#<comment>]
+ show <addr>
list
list-actions
-empty string for REDIRECT means reject
+empty string for redirect means reject
END
our $usage3 = <<'END';
privileged actions
- list-user USER
- insert-exact ADDR USER REDIRECT COMMENT
- donate ADDR USER
- enable-user|disable-user USER
+ list-user <user>
+ insert-exact <addr> <user> <redirect> <comment>
+ donate <addr> <user>
+ enable-user|disable-user <user>
+default generation method is alphanum
END
+our %usage_genopts = (
+'alphanum' => <<END
+ -l<randlength> (number of letters+digits)
+END
+);
#/
use strict;
$showcomment = 1;
} elsif (s/^-h/-/) {
print $usage1.$usage2.$usage3 or die $!;
+ foreach my $meth (qw(alphanum)) {
+ print "genopts for $meth generation method\n" or die $!;
+ print $usage_genopts{$meth} or die $!;
+ }
exit 0;
} else {
die "unknown option \`$_'\n";
}
$usage2 .= defined $dom
- ? "ADDR may be a local part, implicitly qualified with \@$dom\n"
- : "ADDR must be a local part (only)\n";
-$usage2 .= "REDIRECT is implicitly qualified with \@$qualdom if it has no \@\n"
+ ? "addr may be a local part, implicitly qualified with \@$dom\n"
+ : "addr must be a local part (only)\n";
+$usage2 .= "redirect is implicitly qualified with \@$qualdom".
+ " if it has no \@\n"
if defined $qualdom;
$dbh = DBI->connect("dbi:SQLite:dbname=$dbfile","","",