#!/usr/bin/perl
# $File: //member/autrijus/Module-Signature/bin/cpansign $ $Author: autrijus $
# $Revision: #5 $ $Change: 1251 $ $DateTime: 2002/10/07 14:19:26 $

$VERSION = '0.04';

=head1 NAME

cpansign - CPAN signature management utility

=head1 SYNOPSIS

    % cpansign		# DWIM: verify an existing SIGNATURE, or
			        make a new one if none exists 

    % cpansign sign	# make signature; overwrites existing one
    % cpansign -s	# same thing

    % cpansign verify	# verify a signature
    % cpansign -v	# same thing

    % cpansign help     # display this documentation
    % cpansign -h       # same thing

=head1 DESCRIPTION

This utility lets you create and verify SIGNATURE files. 

=cut

use strict;
use Module::Signature;

my %cmd = (
    s => 'sign',
    v => 'verify',
    h => 'help',
);

my $op = shift; $op =~ s/^--?//;
$op = (-e 'SIGNATURE' ? 'verify' : 'sign') if !$op;

my $cmd = $cmd{substr($op, 0, 1)};
(system("perldoc $0"), exit) if $cmd eq 'help';
push @ARGV, (overwrite => '1') if $cmd eq 'sign';

if (my $sub = Module::Signature->can($cmd)) {
    $sub->(@ARGV);
}
else {
    die "Unknown command: '$op'.\n".
	"Available actions: " . (join(', ', sort values %cmd)) .  ".\n";
}

exit;

=head1 SEE ALSO

L<Module::Signature>

=head1 AUTHORS

Autrijus Tang E<lt>autrijus@autrijus.orgE<gt>

=head1 COPYRIGHT

Copyright 2002 by Autrijus Tang E<lt>autrijus@autrijus.orgE<gt>.

This program is free software; you can redistribute it and/or 
modify it under the same terms as Perl itself.

See L<http://www.perl.com/perl/misc/Artistic.html>

=cut
