From: Perl 5 Porters Date: Mon, 15 Jul 1996 00:38:04 +0000 (+0000) Subject: perl 5.003_01: configpm X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=9193ea202a5ecd4b4499827df9feee2bd976bc17;p=p5sagit%2Fp5-mst-13.2.git perl 5.003_01: configpm Output line number in die message for version mismatch Add config_re subroutine Preload aout-specific values in OS/2 aout Perl Change end-of-block token --- diff --git a/configpm b/configpm index af1e716..37fe925 100755 --- a/configpm +++ b/configpm @@ -26,7 +26,7 @@ use Exporter (); \@EXPORT_OK = qw(myconfig config_sh config_vars); \$] == $myver - or die "Perl lib version ($myver) doesn't match executable version (\$])\\n"; + or die "Perl lib version ($myver) doesn't match executable version (\$])"; # This file was created by configpm when Perl was built. Any changes # made to this file will be lost the next time perl is built. @@ -85,8 +85,6 @@ EOT print CONFIG <<'ENDOFEND'; -tie %Config, Config; -sub TIEHASH { bless {} } sub FETCH { # check for cached value (which maybe undef so we use exists not defined) return $_[0]->{$_[1]} if (exists $_[0]->{$_[1]}); @@ -126,14 +124,46 @@ sub CLEAR { &STORE } sub config_sh { $config_sh } + +sub config_re { + my $re = shift; + my @matches = ($config_sh =~ /^$re=.*\n/mg); + @matches ? (print @matches) : print "$re: not found\n"; +} + sub config_vars { foreach(@_){ + config_re($_), next if /\W/; my $v=(exists $Config{$_}) ? $Config{$_} : 'UNKNOWN'; $v='undef' unless defined $v; print "$_='$v';\n"; } } +ENDOFEND + +if ($^O eq 'os2') { + print CONFIG <<'ENDOFSET'; +my %preconfig; +if ($OS2::is_aout) { + my ($value, $v) = $config_sh =~ m/^used_aout='(.*)'\s*$/m; + for (split ' ', $value) { + ($v) = $config_sh =~ m/^aout_$_='(.*)'\s*$/m; + $preconfig{$_} = $v eq 'undef' ? undef : $v; + } +} +sub TIEHASH { bless {%preconfig} } +ENDOFSET +} else { + print CONFIG <<'ENDOFSET'; +sub TIEHASH { bless {} } +ENDOFSET +} + +print CONFIG <<'ENDOFTAIL'; + +tie %Config, 'Config'; + 1; __END__ @@ -229,7 +259,7 @@ outside of it. =cut -ENDOFEND +ENDOFTAIL close(CONFIG);