cvsuser 05/01/30 15:07:44
Modified: App-Options/lib/App Options.pm
Log:
add --version support, fix defaults so that {prefix} variable substitution works
Revision Changes Path
1.14 +25 -24 p5ee/App-Options/lib/App/Options.pm
Index: Options.pm
===================================================================
RCS file: /cvs/public/p5ee/App-Options/lib/App/Options.pm,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- Options.pm 14 Jan 2005 16:28:29 -0000 1.13
+++ Options.pm 30 Jan 2005 23:07:43 -0000 1.14
@@ -1,6 +1,6 @@
#############################################################################
-## $Id: Options.pm,v 1.13 2005/01/14 16:28:29 spadkins Exp $
+## $Id: Options.pm,v 1.14 2005/01/30 23:07:43 spadkins Exp $
#############################################################################
package App::Options;
@@ -761,12 +761,30 @@
}
#################################################################
- # 7. set defaults
+ # 7. establish the definitive (not inferred) $prefix
+ #################################################################
+ if ($values->{prefix}) {
+ if ($prefix eq $values->{prefix}) {
+ print STDERR "7. Definitive prefix found [$prefix] (no change)\n" if ($debug_options);
+ }
+ else {
+ print STDERR "7. Definitive prefix found [$prefix] => [$values->{prefix}]\n" if ($debug_options);
+ $prefix = $values->{prefix};
+ }
+ }
+ else {
+ $values->{prefix} = $prefix;
+ print STDERR "7. prefix Made Definitive [$prefix]\n" if ($debug_options);
+ }
+
+ #################################################################
+ # 8. set defaults
#################################################################
if ($option) {
- @vars = (sort keys %$option);
+ @vars = (defined $init_args{options}) ? @{$init_args{options}} : ();
+ push(@vars, (sort keys %$option));
- print STDERR "7. Set Defaults.\n" if ($debug_options);
+ print STDERR "8. Set Defaults.\n" if ($debug_options);
foreach $var (@vars) {
if (!defined $values->{$var}) {
@@ -786,24 +804,7 @@
}
}
else {
- print STDERR "7. Skipped Defaults (no option defaults defined)\n" if ($debug_options);
- }
-
- #################################################################
- # 8. establish the definitive (not inferred) $prefix
- #################################################################
- if ($values->{prefix}) {
- if ($prefix eq $values->{prefix}) {
- print STDERR "8. Definitive prefix found [$prefix] (no change)\n" if ($debug_options);
- }
- else {
- print STDERR "8. Definitive prefix found [$prefix] => [$values->{prefix}]\n" if ($debug_options);
- $prefix = $values->{prefix};
- }
- }
- else {
- $values->{prefix} = $prefix;
- print STDERR "8. prefix Made Definitive [$prefix]\n" if ($debug_options);
+ print STDERR "8. Skipped Defaults (no option defaults defined)\n" if ($debug_options);
}
#################################################################
@@ -1494,7 +1495,7 @@
assumed to be the value of the $VERSION variable in that package.
i.e. The version of the XYZ::Foo package is $XYZ::Foo::VERSION.)
- prog --version
+ prog --version
Of course, this is all done implicitly in the BEGIN block (during
"use App::Options;"). If your program tried to set
@@ -1512,7 +1513,7 @@
#!/usr/bin/perl
BEGIN {
- $VERSION = do { my @r=(q$Revision: 1.13 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
+ $VERSION = do { my @r=(q$Revision: 1.14 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
}
use App::Options;
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.