#!/usr/bin/env perl

# ===========================================================================
#
#                            PUBLIC DOMAIN NOTICE
#            National Center for Biotechnology Information (NCBI)
#
#  This software/database is a "United States Government Work" under the
#  terms of the United States Copyright Act.  It was written as part of
#  the author's official duties as a United States Government employee and
#  thus cannot be copyrighted.  This software/database is freely available
#  to the public for use. The National Library of Medicine and the U.S.
#  Government do not place any restriction on its use or reproduction.
#  We would, however, appreciate having the NCBI and the author cited in
#  any work or product based on this material.
#
#  Although all reasonable efforts have been taken to ensure the accuracy
#  and reliability of the software and data, the NLM and the U.S.
#  Government do not and cannot warrant the performance or results that
#  may be obtained by using this software or data. The NLM and the U.S.
#  Government disclaim all warranties, express or implied, including
#  warranties of performance, merchantability or fitness for any particular
#  purpose.
#
# ===========================================================================
#
# File Name:  edirutil
#
# Author:  Jonathan Kans
#
# Version Creation Date:   8/20/12
#
# ==========================================================================

# Entrez Direct - EDirect

# use strict;
use warnings;

use Getopt::Long;

# definitions

use constant false => 0;
use constant true  => 1;

sub edirutil {

  my $db = "";
  my $web = "";
  my $key = 0;
  my $num = 0;
  my $stp = 0;
  my $version = "";
  my $seconds = 0;
  my $silent = false;
  my $verbose = false;
  my $debug = false;

  GetOptions (
    "db=s" => \$db,
    "web=s" => \$web,
    "key=i" => \$key,
    "count=i" => \$num,
    "step=i" => \$stp,
    "seconds=s" => \$seconds,
    "version=s" => \$version,
    "silent" => \$silent,
    "verbose" => \$verbose,
    "debug" => \$debug
  );

  print "<ENTREZ_DIRECT>\n";

  if ( $db ne "" ) {
    print "  <Db>$db</Db>\n";
  }
  if ( $web ne "" ) {
    print "  <WebEnv>$web</WebEnv>\n";
  }
  if ( $key ne "" ) {
    print "  <QueryKey>$key</QueryKey>\n";
  }
  if ( $num ne "" ) {
    print "  <Count>$num</Count>\n";
  }
  if ( $stp ne "" ) {
    print "  <Step>$stp</Step>\n";
  }
  if ( $silent ) {
    print "  <Silent>Y</Silent>\n";
  }
  if ( $verbose ) {
    print "  <Verbose>Y</Verbose>\n";
  }
  if ( $debug ) {
    print "  <Debug>Y</Debug>\n";
  }

  print "</ENTREZ_DIRECT>\n";
}

edirutil ();

close (STDIN);
close (STDOUT);
close (STDERR);
