From: <rv...@us...> - 2009-06-11 06:01:49
|
Revision: 23 http://treebase.svn.sourceforge.net/treebase/?rev=23&view=rev Author: rvos Date: 2009-06-11 06:01:41 +0000 (Thu, 11 Jun 2009) Log Message: ----------- Added comments and pod2usage calls Modified Paths: -------------- trunk/treebase-core/src/main/perl/dump/sqldump Modified: trunk/treebase-core/src/main/perl/dump/sqldump =================================================================== --- trunk/treebase-core/src/main/perl/dump/sqldump 2009-06-11 05:46:05 UTC (rev 22) +++ trunk/treebase-core/src/main/perl/dump/sqldump 2009-06-11 06:01:41 UTC (rev 23) @@ -12,6 +12,7 @@ my $with_inserts = 1; # write insert statements my $with_creates = 0; # write create statements +# get command line options, see Getopt::Long GetOptions( 'creates!' => \$with_creates, 'inserts!' => \$with_inserts, @@ -20,15 +21,35 @@ 'pass=s' => \$ENV{'TREEBASE_DB_PASS'}, 'dsn=s' => \$ENV{'TREEBASE_DB_DSN'}, 'table=s' => \@tables, + 'help|?' => sub { pod2usage( '-verbose' => 0 ) }, # see Pod::Usage + 'man' => sub { pod2usage( '-verbose' => 1 ) }, # see Pod::Usage 'all' => sub { @tables = get_all_tables() }, 'file=s' => sub { my $file = pop; open my $fh, '>', $file - or die "Couldn't write output file '$file': $!; aborting"; + or pod2usage( + '-msg' => "Couldn't write output file '$file': $!; aborting", + '-verbose' => 0, + '-exitval' => 1 + ); # see Pod::Usage $outhandle = $fh; }, -) || pod2usage(); +) || pod2usage( '-verbose' => 0, '-exitval' => 1 ); +# need at least one table, see Pod::Usage +pod2usage( + '-verbose' => 0, + '-exitval' => 1, + '-msg' => 'Need at least one table to dump, aborting' +) unless @tables; + +# need at least one action, see Pod::Usage +pod2usage( + '-verbose' => 0, + '-exitval' => 1, + '-msg' => 'Need at least one operation to write out (--inserts and/or --creates), aborting' +) unless $with_creates or $with_inserts; + # create database handle my $dbh = get_handle(); @@ -91,11 +112,6 @@ $dbh->disconnect; exit 0; -sub usage { - print "$0 table-name [output_filename]\n"; - exit 1; -} - sub get_all_tables { } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |