diff options
author | 2010-09-24 14:48:16 +0000 | |
---|---|---|
committer | 2010-09-24 14:48:16 +0000 | |
commit | b39c515898423c8d899e35282f4b395f7cad3298 (patch) | |
tree | 1112fe0668df8904d89127dcb37234a401c97c42 /gnu/usr.bin/perl/cpan/Module-Build/lib/Module/Build/Config.pm | |
parent | use a better description for the vnd(4) entry on this file. (diff) | |
download | wireguard-openbsd-b39c515898423c8d899e35282f4b395f7cad3298.tar.xz wireguard-openbsd-b39c515898423c8d899e35282f4b395f7cad3298.zip |
Perl 5.12.2 from CPAN
Diffstat (limited to 'gnu/usr.bin/perl/cpan/Module-Build/lib/Module/Build/Config.pm')
-rw-r--r-- | gnu/usr.bin/perl/cpan/Module-Build/lib/Module/Build/Config.pm | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/gnu/usr.bin/perl/cpan/Module-Build/lib/Module/Build/Config.pm b/gnu/usr.bin/perl/cpan/Module-Build/lib/Module/Build/Config.pm new file mode 100644 index 00000000000..997960073fd --- /dev/null +++ b/gnu/usr.bin/perl/cpan/Module-Build/lib/Module/Build/Config.pm @@ -0,0 +1,59 @@ +package Module::Build::Config; + +use strict; +use vars qw($VERSION); +$VERSION = '0.3603'; +$VERSION = eval $VERSION; +use Config; + +sub new { + my ($pack, %args) = @_; + return bless { + stack => {}, + values => $args{values} || {}, + }, $pack; +} + +sub get { + my ($self, $key) = @_; + return $self->{values}{$key} if ref($self) && exists $self->{values}{$key}; + return $Config{$key}; +} + +sub set { + my ($self, $key, $val) = @_; + $self->{values}{$key} = $val; +} + +sub push { + my ($self, $key, $val) = @_; + push @{$self->{stack}{$key}}, $self->{values}{$key} + if exists $self->{values}{$key}; + $self->{values}{$key} = $val; +} + +sub pop { + my ($self, $key) = @_; + + my $val = delete $self->{values}{$key}; + if ( exists $self->{stack}{$key} ) { + $self->{values}{$key} = pop @{$self->{stack}{$key}}; + delete $self->{stack}{$key} unless @{$self->{stack}{$key}}; + } + + return $val; +} + +sub values_set { + my $self = shift; + return undef unless ref($self); + return $self->{values}; +} + +sub all_config { + my $self = shift; + my $v = ref($self) ? $self->{values} : {}; + return {%Config, %$v}; +} + +1; |