Catalog
view release on metacpan or search on metacpan
bin/sengacontrib.PL view on Meta::CPAN
use Config;
use File::Basename qw(basename dirname);
chdir(dirname($0));
($file = basename($0)) =~ s/\.PL$//;
$file =~ s/\.pl$//
if ($Config{'osname'} eq 'VMS' or
$Config{'osname'} eq 'OS2'); # "case-forgiving"
open OUT,">$file" or die "Can't create $file: $!";
chmod(0755, $file);
print "Extracting $file (with variable substitutions)\n";
print OUT <<"!GROK!THIS!";
$Config{'startperl'}
!GROK!THIS!
print OUT <<'!NO!SUBS!';
package Options;
use strict;
use Getopt::Long;
use File::Basename;
#
# Build a Main object.
#
# options - hash table that is a list of the options recognized by
# Main and in the syntax used by the GetOptions function
# see the mygetopt::Long package for more information.
# short_usage - hash table mapping option name to a short description,
# something like '-noheuristics -heuristics'. Not really
# a description.
# long_usage - hash table mapping option name to a human readable
# explanation of the option.
# default - hash table mapping option name to the default value for the
# option.
# order - a list of the options in order. The usage command use this
# list to show the options in order.
#
sub new {
my($type) = shift;
my($self) = {};
bless($self, $type);
$self->{'options'} = {};
$self->{'short_usage'} = {};
$self->{'long_usage'} = {};
$self->{'default'} = {};
$self->{'order'} = [];
#
# Set default options
#
$self->initoptions();
#
# Override with caller choice
#
$self->initialize(@_);
#
# Parse the collected options
#
$self->getopt();
return $self;
}
#
( run in 1.219 second using v1.01-cache-2.11-cpan-d8267643d1d )