D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
thread-self
/
root
/
usr
/
share
/
doc
/
perl-Getopt-Long
/
examples
/
Filename :
skel4.pl
back
Copy
#!/usr/bin/perl # Skeleton for an application using Getopt::Long. # Author : Johan Vromans # Created On : Tue Sep 15 15:59:04 1992 # Last Modified By: Johan Vromans # Last Modified On: Thu Jul 4 14:43:40 2013 # Update Count : 84 # Status : Unknown, Use with caution! ################ Common stuff ################ use strict; use warnings; ################ Setup ################ # Process command line options, config files, and such. my $options = app_setup(); ################ Presets ################ $options->{trace} = 1 if $options->{debug} || $options->{test}; ################ Activate ################ main($options); ################ The Process ################ sub main { my ($options) = @_; use Data::Dumper; print Dumper($options); } ################ Options and Configuration ################ use Getopt::Long 2.13; # Package name. my $my_package; # Program name and version. my ($my_name, $my_version); sub app_setup { my $help = 0; # handled locally my $ident = 0; # handled locally # Package name. $my_package = 'Sciurix'; # Program name and version. ($my_name, $my_version) = qw( MyProg 0.01 ); my $options = { verbose => 0, # verbose processing ### ADD OPTIONS HERE ### # Development options (not shown with -help). debug => 0, # debugging trace => 0, # trace (show process) test => 0, # test mode # Service. _package => $my_package, _name => $my_name, _version => $my_version, _stdin => \*STDIN, _stdout => \*STDOUT, _stderr => \*STDERR, _argv => [ @ARGV ], }; # Return defaults if no options to process. return $options unless @ARGV; # Sorry, layout is a bit ugly... if ( !GetOptions ($options, ### ADD OPTIONS HERE ### # Configuration handling. 'config=s' => sub { app_config($options, $_[0], $_[1]) }, # Standard options. 'ident' => \$ident, 'help|?' => \$help, 'verbose', 'trace', 'debug', ) ) { app_usage(2); } app_usage(0) if $help; app_ident() if $ident; $options; } sub app_ident { print ("This is $my_package [$my_name $my_version]\n"); } sub app_usage { my ($exit) = @_; select \*STDERR if $exit; app_ident(); print <<EndOfUsage; Usage: $0 [options] [file ...] ### ADD OPTIONS HERE ### --config=CFG load options from config file --help this message --ident show identification --verbose verbose information EndOfUsage exit $exit if defined $exit; } sub app_config { my ($options, $optname, $config) = @_; die("$config: $!\n") unless -e $config; push(@{$options->{_config}}, $config); # Process config data, filling $options ... }
Name
Size
Last Modified
Owner
Permissions
Actions
README
0.314
KB
July 23 2006 2:34:06
root
0644
parsetime.pl
1.189
KB
October 08 2004 11:40:22
root
0644
skel1.pl
1.971
KB
April 19 2011 7:07:03
root
0644
skel2.pl
2.556
KB
June 02 2015 8:40:04
root
0644
skel3.pl
2.523
KB
July 09 2010 12:30:13
root
0644
skel4.pl
2.755
KB
July 04 2013 12:43:40
root
0644
2017 © D7net | D704T team