The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<html><head><title>App::Cmdline::Options::ExtBasic</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >

<style type="text/css">
 <!--/*--><![CDATA[/*><!--*/
BODY {
  background: white;
  color: black;
  font-family: arial,sans-serif;
  margin: 0;
  padding: 1ex;
}

A:link, A:visited {
  background: transparent;
  color: #006699;
}

A[href="#POD_ERRORS"] {
  background: transparent;
  color: #FF0000;
}

DIV {
  border-width: 0;
}

DT {
  margin-top: 1em;
  margin-left: 1em;
}

.pod { margin-right: 20ex; }

.pod PRE     {
  background: #eeeeee;
  border: 1px solid #888888;
  color: black;
  padding: 1em;
  white-space: pre;
}

.pod H1      {
  background: transparent;
  color: #006699;
  font-size: large;
}

.pod H1 A { text-decoration: none; }
.pod H2 A { text-decoration: none; }
.pod H3 A { text-decoration: none; }
.pod H4 A { text-decoration: none; }

.pod H2      {
  background: transparent;
  color: #006699;
  font-size: medium;
}

.pod H3      {
  background: transparent;
  color: #006699;
  font-size: medium;
  font-style: italic;
}

.pod H4      {
  background: transparent;
  color: #006699;
  font-size: medium;
  font-weight: normal;
}

.pod IMG     {
  vertical-align: top;
}

.pod .toc A  {
  text-decoration: none;
}

.pod .toc LI {
  line-height: 1.2em;
  list-style-type: none;
}

  /*]]>*/-->
</style>


</head>
<body class='pod'>
<!--
  generated by Pod::Simple::HTML v3.20,
  using Pod::Simple::PullParser v3.20,
  under Perl v5.012004 at Sat Apr 21 11:23:35 2012 GMT.

 If you want to change this HTML document, you probably shouldn't do that
   by changing it directly.  Instead, see about changing the calling options
   to Pod::Simple::HTML, and/or subclassing Pod::Simple::HTML,
   then reconverting this document from the Pod source.
   When in doubt, email the author of Pod::Simple::HTML for advice.
   See 'perldoc Pod::Simple::HTML' for more info.

-->

<!-- start doc -->
<a name='___top' class='dummyTopAnchor' ></a>

<div class='indexgroup'>
<ul   class='indexList indexList1'>
  <li class='indexItem indexItem1'><a href='#NAME'>NAME</a>
  <li class='indexItem indexItem1'><a href='#VERSION'>VERSION</a>
  <li class='indexItem indexItem1'><a href='#SYNOPSIS'>SYNOPSIS</a>
  <li class='indexItem indexItem1'><a href='#DESCRIPTION'>DESCRIPTION</a>
  <li class='indexItem indexItem1'><a href='#OPTIONS'>OPTIONS</a>
  <ul   class='indexList indexList2'>
    <li class='indexItem indexItem2'><a href='#--help'>--help</a>
    <li class='indexItem indexItem2'><a href='#--man'>--man</a>
    <li class='indexItem indexItem2'><a href='#--quiet'>--quiet</a>
  </ul>
  <li class='indexItem indexItem1'><a href='#AUTHOR'>AUTHOR</a>
  <li class='indexItem indexItem1'><a href='#COPYRIGHT_AND_LICENSE'>COPYRIGHT AND LICENSE</a>
</ul>
</div>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="NAME"
>NAME</a></h1>

<p>App::Cmdline::Options::ExtBasic - set of basic options for command-line applications</p>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="VERSION"
>VERSION</a></h1>

<p>version 0.1.0</p>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="SYNOPSIS"
>SYNOPSIS</a></h1>

<pre>   # In your module that represents a command-line application:
   sub opt_spec {
       my $self = shift;
       return $self-&#62;check_for_duplicates (
           [ &#39;check|c&#39; =&#62; &#34;only check the configuration&#34;  ],
           ...,
           $self-&#62;composed_of (
               &#39;App::Cmdline::Options::ExtBasic&#39;,  # here are the options added
           )
       );
    }</pre>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="DESCRIPTION"
>DESCRIPTION</a></h1>

<p>This is a kind of a <i>role</i> module, defining a particular set of command-line options and their validation. See more about how to write a module that represents a command-line application and that uses this set of options in <a href="http://search.cpan.org/perldoc?App%3A%3ACmdline" class="podlinkpod"
>App::Cmdline</a>.</p>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="OPTIONS"
>OPTIONS</a></h1>

<p>Particularly, this module extends the basic options, adding mostly more documentation options. It inherits from <a href="http://search.cpan.org/perldoc?App%3A%3ACmdline%3A%3AOptions%3A%3ABasic" class="podlinkpod"
>App::Cmdline::Options::Basic</a> module, and, therefore, provides the same basic options defined there, and it adds the following options:</p>

<pre>    [ &#39;help&#39;      =&#62; &#34;display a full usage message&#34;   ],
    [ &#39;man|m&#39;     =&#62; &#34;display a full manual page&#34;     ],
    [ &#39;quiet|q&#39;   =&#62; &#34;skip various progress messages&#34; ],</pre>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="--help"
>--help</a></h2>

<p>It uses <a href="http://search.cpan.org/perldoc?Pod%3A%3AUsage" class="podlinkpod"
>Pod::Usage</a> module to print a (potentially) longer usage message created from embedded POD documentation, using its <i>SYNOPSIS</i> section, along with any section entitled <i>OPTIONS</i>, <i>ARGUMENTS</i>, or <i>OPTIONS AND ARGUMENTS</i>. The POD documentation is taken from the module that represents your application (not from the command-line script that uses your application module).</p>

<p>After producing this message, it exits in one of the two possible ways: If it is called from and <code>eval</code> expression, it dies (so you can catch it and continue). Otherwise, it exists with the exit code zero.</p>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="--man"
>--man</a></h2>

<p>It uses <a href="http://search.cpan.org/perldoc?Pod%3A%3AUsage" class="podlinkpod"
>Pod::Usage</a> module to print a full manual page from embedded POD documentation. Then, it exits in the same way as described din the <a href="#-help" class="podlinkpod"
>-help</a> option.</p>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="--quiet"
>--quiet</a></h2>

<p>It creates a method <code>$opt-&#62;quiet</code> that can be used in your application to ignore some messages. For example (remember that the full job in you application is done in its <code>execute()</code> method):</p>

<pre>   sub execute {
      my ($self, $opt, $args) = @_;
      print STDERR &#34;Started...\n&#34; unless $opt-&#62;quiet;
      ...
   }</pre>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="AUTHOR"
>AUTHOR</a></h1>

<p>Martin Senger &#60;martin.senger@gmail.com&#62;</p>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="COPYRIGHT_AND_LICENSE"
>COPYRIGHT AND LICENSE</a></h1>

<p>This software is copyright (c) 2012 by Martin Senger, CBRC - KAUST (Computational Biology Research Center - King Abdullah University of Science and Technology) All Rights Reserved.</p>

<p>This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.</p>

<!-- end doc -->

</body></html>