1 package Module::Build::Config;
5 $VERSION = '0.2808_01';
6 $VERSION = eval $VERSION;
10 my ($pack, %args) = @_;
13 values => $args{values} || {},
18 my ($self, $key) = @_;
19 return $self->{values}{$key} if ref($self) && exists $self->{values}{$key};
24 my ($self, $key, $val) = @_;
25 $self->{values}{$key} = $val;
29 my ($self, $key, $val) = @_;
30 push @{$self->{stack}{$key}}, $self->{values}{$key}
31 if exists $self->{values}{$key};
32 $self->{values}{$key} = $val;
36 my ($self, $key) = @_;
38 my $val = delete $self->{values}{$key};
39 if ( exists $self->{stack}{$key} ) {
40 $self->{values}{$key} = pop @{$self->{stack}{$key}};
41 delete $self->{stack}{$key} unless @{$self->{stack}{$key}};
49 return undef unless ref($self);
50 return $self->{values};
55 my $v = ref($self) ? $self->{values} : {};
56 return {%Config, %$v};