use Config;
-open (PERLM,"<perlmain.c") or die "Can't load perlmain.c: $!";
-open (MAKEFILE,"<makefile.pl") or die "Can't load makefile.pl: $!";
+open (PERLM, '<', 'perlmain.c') or die "Can't load perlmain.c: $!";
+open (MAKEFILE, '<', 'makefile.pl') or die "Can't load makefile.pl: $!";
undef $/;
$perlmain=<PERLM>;
$makefile=<MAKEFILE>;
($_) = $makefile =~ /\bNAME\b.*=>\W*([\w\:]+)/; # extract module name
-$badname=join ("__",map {lc substr ($_,0,8)} split /:+/); # dosify
+$badname=join ("__",map {lc substr ($_,0,8)} split /:+/); # DOSify
$perlmain =~ s/^.*boot_$badname.*$//gm if $badname; # delete bad lines
-@exts=split (" ",$Config{known_extensions});
-for $realname (@exts,'DynaLoader')
+@exts=('DynaLoader',split (" ",$Config{known_extensions}));
+for $realname (@exts)
{
- $dosname=substr (lc $realname,0,8);
- $perlmain =~ s/\bboot_$dosname/boot_$realname/gm;
+ $dosname=join ("__",map {lc substr ($_,0,8)} split /\//,$realname);
+ $realname =~ s!/!__!g;
+ $perlmain =~ s/\bboot_$dosname\b/boot_$realname/gm;
+ $dosname =~ s/__/::/;
+ $realname =~ s/__/::/;
$perlmain =~ s/\b$dosname(::bootstrap)/$realname$1/gm;
}
#DynaLoader is special
$perlmain =~ s/(DynaLoader:\:boot)strap/$1_DynaLoader/gm;
-open (PERLM,">perlmain.c") or die "Can't write perlmain.c: $!";
+open (PERLM, '>', 'perlmain.c') or die "Can't write perlmain.c: $!";
print PERLM $perlmain;