--- nfo/perl/libs/Getopt/Simple.pm 2002/12/27 16:06:55 1.3 +++ nfo/perl/libs/Getopt/Simple.pm 2002/12/28 07:55:26 1.4 @@ -1,7 +1,10 @@ ## ------------------------------------------------------------------------ -## $Id: Simple.pm,v 1.3 2002/12/27 16:06:55 joko Exp $ +## $Id: Simple.pm,v 1.4 2002/12/28 07:55:26 joko Exp $ ## ------------------------------------------------------------------------ ## $Log: Simple.pm,v $ +## Revision 1.4 2002/12/28 07:55:26 joko +## - changed mechanism to read options +## ## Revision 1.3 2002/12/27 16:06:55 joko ## + sub _checkRequired ## + sub getPossibleOptionKeys @@ -28,7 +31,12 @@ my $opt; sub _cb_readOption { + #my $self = shift; + + #print Dumper(@_); + #return; + my $opt_name = shift; my $opt_value = shift; $opt_value ||= 1; @@ -45,6 +53,7 @@ #my $fields = shift; my @fields; foreach (@_) { + #print ref $_, "\n"; if (ref $_ eq 'HASH') { $self->{__metadata} = $_; } else { @@ -71,6 +80,8 @@ } GetOptions(@{$self->{__getopt_mapping}}); + #Getopt::Long::Configure("permute"); + #GetOptions("<>" => \&_cb_readOption); foreach my $key (keys %{$opt}) { push @{$self->{__available}}, $key; @@ -86,9 +97,12 @@ sub _checkRequired { my $self = shift; - foreach (keys %{$self->{__metadata}->{required}}) { - if (!$self->{__result}->{$_}) { - $self->{__metadata}->{required}->{$_}->($self); + foreach my $entry (@{$self->{__metadata}->{required}}) { + my $optionkey = $entry->[0]; + my $coderef = $entry->[1]; + if (!$self->{__result}->{$optionkey}) { + #$self->{__metadata}->{required}->{$_}->($self); + $coderef->($self); } } }