@pods = (<pod/*.pod>);
+%archpms = (Config => 1, FileHandle => 1, overload => 1);
+find(sub {
+ if ("$File::Find::dir/$_" =~ m{^ext/[^/]+/(.*)\.pm$}) {
+ (my $pm = $1) =~ s{^lib/}{};
+ $archpms{$pm} = 1;
+ }
+ }, 'ext');
+
$ver = $];
$release = substr($ver,0,3); # Not used presently.
$patchlevel = substr($ver,3,2);
$mainperl_is_instperl = 0;
-if (-w $mainperldir && ! &samepath($mainperldir, $installbin) && !$nonono) {
+if (!$nonono && -t STDIN && -t STDERR
+ && -w $mainperldir && ! &samepath($mainperldir, $installbin)) {
local($usrbinperl) = "$mainperldir/perl$exe_ext";
local($instperl) = "$installbin/perl$exe_ext";
local($expinstperl) = "$binexp/perl$exe_ext";
$name = "$dir/$name" if $dir ne '';
my $installlib = $installprivlib;
- if ($dir =~ /^auto/ || $name =~ /^(Config|FileHandle|Safe)\.pm$/) {
+ if ($dir =~ /^auto/ ||
+ ($name =~ /^(.*)\.(?:pm|pod)$/ && $archpms{$1})) {
$installlib = $installarchlib;
return unless $do_installarchlib;
} else {