This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
new_pte/del_pte can use new_body/del_body too
[perl5.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 69b446a..02a1333 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -332,7 +332,7 @@ after the platform hints have been run by using Configure's -A switch.
 For example, here's how to add a couple of extra flags to C compiler
 invocations:
 
-       sh Configure -Accflags="-DPERL_Y2KWARN -DPERL_POLLUTE_MALLOC"
+       sh Configure -Accflags="-DPERL_EXTERNAL_GLOB -DPERL_POLLUTE_MALLOC"
 
 For more help on Configure switches, run
 
@@ -527,7 +527,7 @@ One can still revert to the old guaranteed repeatable order (and be
 vulnerable to attack by wily crackers) by setting the environment
 variable PERL_HASH_SEED, see L<perlrun/PERL_HASH_SEED>.  Another option
 is to add -DUSE_HASH_SEED_EXPLICIT to the compilation flags (for
-example by using C<Configure -Accflags=-DUSE_HAS_SEED_EXPLICIT>), in
+example by using C<Configure -Accflags=-DUSE_HASH_SEED_EXPLICIT>), in
 which case one has to explicitly set the PERL_HASH_SEED environment
 variable to enable the security feature, or by adding -DNO_HASH_SEED to
 the compilation flags to completely disable the randomisation feature.
@@ -657,6 +657,19 @@ architecture-dependent library for your -DDEBUGGING version of perl.
 You can do this by changing all the *archlib* variables in config.sh to
 point to your new architecture-dependent library.
 
+=head3 Environment access
+
+Perl often needs to write to the program's environment, such as when C<%ENV>
+is assigned to. Many implementations of the C library function C<putenv()>
+leak memory, so where possible perl will manipulate the environment directly
+to avoid these leaks. The default is now to perform direct manipulation
+whenever perl is running as a stand alone interpreter, and to call the safe
+but potentially leaky C<putenv()> function when the perl interpreter is
+embedded in another application. You can force perl to always use C<putenv()>
+by compiling with -DPERL_USE_SAVE_PUTENV. You can force an embedded perl to
+use direct manipulation by setting C<PL_use_safe_putenv = 0;> after the
+C<perl_construct()> call.
+
 =head2 Installation Directories
 
 The installation directories can all be changed by answering the
@@ -832,6 +845,17 @@ present, at run time.  Of course, you can still search other @INC
 directories ahead of those in APPLLIB_EXP by using any of the standard
 run-time methods: $PERLLIB, $PERL5LIB, -I, use lib, etc.
 
+=item USE_SITECUSTOMIZE
+
+Run-time customization of @INC can be enabled with:
+
+       sh Configure -Dusesitecustomize
+
+Which will define USE_SITECUSTOMIZE and $Config{usesitecustomize}.
+When enabled, make perl run F<$sitelibexp/sitecustomize.pl> before
+anything else.  This script can then be set up to add additional
+entries to @INC.
+
 =item Man Pages
 
 In versions 5.005_57 and earlier, the default was to store module man
@@ -2423,113 +2447,107 @@ Firstly, the bare minimum to run this script
      print("$f\n");
   }
 
-in Solaris is as follows (under $Config{prefix}):
+in Linux is as follows (under $Config{prefix}):
 
   ./bin/perl
-  ./lib/perl5/5.6.1/sun4-solaris-64int/auto/DynaLoader/autosplit.ix
-  ./lib/perl5/5.6.1/sun4-solaris-64int/auto/DynaLoader/dl_expandspec.al
-  ./lib/perl5/5.6.1/sun4-solaris-64int/auto/DynaLoader/dl_find_symbol_anywhere.al
-  ./lib/perl5/5.6.1/sun4-solaris-64int/auto/DynaLoader/dl_findfile.al
-  ./lib/perl5/5.6.1/sun4-solaris-64int/auto/File/Glob/Glob.so
-  ./lib/perl5/5.6.1/sun4-solaris-64int/auto/File/Glob/autosplit.ix
-  ./lib/perl5/5.6.1/sun4-solaris-64int/Config.pm
-  ./lib/perl5/5.6.1/sun4-solaris-64int/XSLoader.pm
-  ./lib/perl5/5.6.1/sun4-solaris-64int/DynaLoader.pm
-  ./lib/perl5/5.6.1/sun4-solaris-64int/CORE/libperl.so
-  ./lib/perl5/5.6.1/strict.pm
-  ./lib/perl5/5.6.1/warnings.pm
-  ./lib/perl5/5.6.1/Carp.pm
-  ./lib/perl5/5.6.1/Exporter.pm
-  ./lib/perl5/5.6.1/File/Glob.pm
-  ./lib/perl5/5.6.1/AutoLoader.pm
-  ./lib/perl5/5.6.1/vars.pm
-  ./lib/perl5/5.6.1/warnings/register.pm
-  ./lib/perl5/5.6.1/Carp/Heavy.pm
-  ./lib/perl5/5.6.1/Exporter/Heavy.pm
+  ./lib/perl5/5.9.3/strict.pm
+  ./lib/perl5/5.9.3/warnings.pm
+  ./lib/perl5/5.9.3/i686-linux/File/Glob.pm
+  ./lib/perl5/5.9.3/i686-linux/XSLoader.pm
+  ./lib/perl5/5.9.3/i686-linux/auto/File/Glob/Glob.so
 
 Secondly, Debian perl-base package contains the following files,
-size about 1.2MB in its i386 version:
+size about 1.9MB in its i386 version:
 
-  /usr/share/doc/perl/Documentation
-  /usr/share/doc/perl/README.Debian
-  /usr/share/doc/perl/copyright
+  /usr/bin/perl
+  /usr/bin/perl5.8.4
+  /usr/lib/perl/5.8
+  /usr/lib/perl/5.8.4/B.pm
+  /usr/lib/perl/5.8.4/B/Deparse.pm
+  /usr/lib/perl/5.8.4/Config.pm
+  /usr/lib/perl/5.8.4/Cwd.pm
+  /usr/lib/perl/5.8.4/Data/Dumper.pm
+  /usr/lib/perl/5.8.4/DynaLoader.pm
+  /usr/lib/perl/5.8.4/Errno.pm
+  /usr/lib/perl/5.8.4/Fcntl.pm
+  /usr/lib/perl/5.8.4/File/Glob.pm
+  /usr/lib/perl/5.8.4/IO.pm
+  /usr/lib/perl/5.8.4/IO/File.pm
+  /usr/lib/perl/5.8.4/IO/Handle.pm
+  /usr/lib/perl/5.8.4/IO/Pipe.pm
+  /usr/lib/perl/5.8.4/IO/Seekable.pm
+  /usr/lib/perl/5.8.4/IO/Select.pm
+  /usr/lib/perl/5.8.4/IO/Socket.pm
+  /usr/lib/perl/5.8.4/POSIX.pm
+  /usr/lib/perl/5.8.4/Socket.pm
+  /usr/lib/perl/5.8.4/XSLoader.pm
+  /usr/lib/perl/5.8.4/auto/Cwd/Cwd.bs
+  /usr/lib/perl/5.8.4/auto/Cwd/Cwd.so
+  /usr/lib/perl/5.8.4/auto/Data/Dumper/Dumper.bs
+  /usr/lib/perl/5.8.4/auto/Data/Dumper/Dumper.so
+  /usr/lib/perl/5.8.4/auto/DynaLoader/DynaLoader.a
+  /usr/lib/perl/5.8.4/auto/DynaLoader/autosplit.ix
+  /usr/lib/perl/5.8.4/auto/DynaLoader/dl_expandspec.al
+  /usr/lib/perl/5.8.4/auto/DynaLoader/dl_find_symbol_anywhere.al
+  /usr/lib/perl/5.8.4/auto/DynaLoader/dl_findfile.al
+  /usr/lib/perl/5.8.4/auto/DynaLoader/extralibs.ld
+  /usr/lib/perl/5.8.4/auto/Fcntl/Fcntl.bs
+  /usr/lib/perl/5.8.4/auto/Fcntl/Fcntl.so
+  /usr/lib/perl/5.8.4/auto/File/Glob/Glob.bs
+  /usr/lib/perl/5.8.4/auto/File/Glob/Glob.so
+  /usr/lib/perl/5.8.4/auto/IO/IO.bs
+  /usr/lib/perl/5.8.4/auto/IO/IO.so
+  /usr/lib/perl/5.8.4/auto/POSIX/POSIX.bs
+  /usr/lib/perl/5.8.4/auto/POSIX/POSIX.so
+  /usr/lib/perl/5.8.4/auto/POSIX/autosplit.ix
+  /usr/lib/perl/5.8.4/auto/POSIX/load_imports.al
+  /usr/lib/perl/5.8.4/auto/Socket/Socket.bs
+  /usr/lib/perl/5.8.4/auto/Socket/Socket.so
+  /usr/lib/perl/5.8.4/lib.pm
+  /usr/lib/perl/5.8.4/re.pm
+  /usr/share/doc/perl-base
   /usr/share/doc/perl/AUTHORS.gz
+  /usr/share/doc/perl/Documentation
+  /usr/share/doc/perl/README.Debian.gz
   /usr/share/doc/perl/changelog.Debian.gz
+  /usr/share/doc/perl/copyright
   /usr/share/man/man1/perl.1.gz
-  /usr/share/perl/5.6.1/AutoLoader.pm
-  /usr/share/perl/5.6.1/Carp.pm
-  /usr/share/perl/5.6.1/Carp/Heavy.pm
-  /usr/share/perl/5.6.1/Cwd.pm
-  /usr/share/perl/5.6.1/Exporter.pm
-  /usr/share/perl/5.6.1/Exporter/Heavy.pm
-  /usr/share/perl/5.6.1/File/Spec.pm
-  /usr/share/perl/5.6.1/File/Spec/Unix.pm
-  /usr/share/perl/5.6.1/FileHandle.pm
-  /usr/share/perl/5.6.1/Getopt/Long.pm
-  /usr/share/perl/5.6.1/IO/Socket/INET.pm
-  /usr/share/perl/5.6.1/IO/Socket/UNIX.pm
-  /usr/share/perl/5.6.1/IPC/Open2.pm
-  /usr/share/perl/5.6.1/IPC/Open3.pm
-  /usr/share/perl/5.6.1/SelectSaver.pm
-  /usr/share/perl/5.6.1/Symbol.pm
-  /usr/share/perl/5.6.1/Text/Tabs.pm
-  /usr/share/perl/5.6.1/Text/Wrap.pm
-  /usr/share/perl/5.6.1/attributes.pm
-  /usr/share/perl/5.6.1/auto/Getopt/Long/GetOptions.al
-  /usr/share/perl/5.6.1/auto/Getopt/Long/FindOption.al
-  /usr/share/perl/5.6.1/auto/Getopt/Long/Configure.al
-  /usr/share/perl/5.6.1/auto/Getopt/Long/config.al
-  /usr/share/perl/5.6.1/auto/Getopt/Long/Croak.al
-  /usr/share/perl/5.6.1/auto/Getopt/Long/autosplit.ix
-  /usr/share/perl/5.6.1/base.pm
-  /usr/share/perl/5.6.1/constant.pm
-  /usr/share/perl/5.6.1/fields.pm
-  /usr/share/perl/5.6.1/integer.pm
-  /usr/share/perl/5.6.1/lib.pm
-  /usr/share/perl/5.6.1/locale.pm
-  /usr/share/perl/5.6.1/overload.pm
-  /usr/share/perl/5.6.1/strict.pm
-  /usr/share/perl/5.6.1/vars.pm
-  /usr/share/perl/5.6.1/warnings.pm
-  /usr/share/perl/5.6.1/warnings/register.pm
-  /usr/bin/perl
-  /usr/lib/perl/5.6.1/Config.pm
-  /usr/lib/perl/5.6.1/Data/Dumper.pm
-  /usr/lib/perl/5.6.1/DynaLoader.pm
-  /usr/lib/perl/5.6.1/Errno.pm
-  /usr/lib/perl/5.6.1/Fcntl.pm
-  /usr/lib/perl/5.6.1/File/Glob.pm
-  /usr/lib/perl/5.6.1/IO.pm
-  /usr/lib/perl/5.6.1/IO/File.pm
-  /usr/lib/perl/5.6.1/IO/Handle.pm
-  /usr/lib/perl/5.6.1/IO/Pipe.pm
-  /usr/lib/perl/5.6.1/IO/Seekable.pm
-  /usr/lib/perl/5.6.1/IO/Select.pm
-  /usr/lib/perl/5.6.1/IO/Socket.pm
-  /usr/lib/perl/5.6.1/POSIX.pm
-  /usr/lib/perl/5.6.1/Socket.pm
-  /usr/lib/perl/5.6.1/XSLoader.pm
-  /usr/lib/perl/5.6.1/auto/Data/Dumper/Dumper.so
-  /usr/lib/perl/5.6.1/auto/Data/Dumper/Dumper.bs
-  /usr/lib/perl/5.6.1/auto/DynaLoader/dl_findfile.al
-  /usr/lib/perl/5.6.1/auto/DynaLoader/dl_expandspec.al
-  /usr/lib/perl/5.6.1/auto/DynaLoader/dl_find_symbol_anywhere.al
-  /usr/lib/perl/5.6.1/auto/DynaLoader/autosplit.ix
-  /usr/lib/perl/5.6.1/auto/DynaLoader/DynaLoader.a
-  /usr/lib/perl/5.6.1/auto/DynaLoader/extralibs.ld
-  /usr/lib/perl/5.6.1/auto/Fcntl/Fcntl.so
-  /usr/lib/perl/5.6.1/auto/Fcntl/Fcntl.bs
-  /usr/lib/perl/5.6.1/auto/File/Glob/Glob.bs
-  /usr/lib/perl/5.6.1/auto/File/Glob/Glob.so
-  /usr/lib/perl/5.6.1/auto/File/Glob/autosplit.ix
-  /usr/lib/perl/5.6.1/auto/IO/IO.so
-  /usr/lib/perl/5.6.1/auto/IO/IO.bs
-  /usr/lib/perl/5.6.1/auto/POSIX/POSIX.bs
-  /usr/lib/perl/5.6.1/auto/POSIX/POSIX.so
-  /usr/lib/perl/5.6.1/auto/POSIX/autosplit.ix
-  /usr/lib/perl/5.6.1/auto/POSIX/load_imports.al
-  /usr/lib/perl/5.6.1/auto/Socket/Socket.so
-  /usr/lib/perl/5.6.1/auto/Socket/Socket.bs
+  /usr/share/perl/5.8
+  /usr/share/perl/5.8.4/AutoLoader.pm
+  /usr/share/perl/5.8.4/Carp.pm
+  /usr/share/perl/5.8.4/Carp/Heavy.pm
+  /usr/share/perl/5.8.4/Exporter.pm
+  /usr/share/perl/5.8.4/Exporter/Heavy.pm
+  /usr/share/perl/5.8.4/File/Spec.pm
+  /usr/share/perl/5.8.4/File/Spec/Unix.pm
+  /usr/share/perl/5.8.4/FileHandle.pm
+  /usr/share/perl/5.8.4/Getopt/Long.pm
+  /usr/share/perl/5.8.4/IO/Socket/INET.pm
+  /usr/share/perl/5.8.4/IO/Socket/UNIX.pm
+  /usr/share/perl/5.8.4/IPC/Open2.pm
+  /usr/share/perl/5.8.4/IPC/Open3.pm
+  /usr/share/perl/5.8.4/List/Util.pm
+  /usr/share/perl/5.8.4/Scalar/Util.pm
+  /usr/share/perl/5.8.4/SelectSaver.pm
+  /usr/share/perl/5.8.4/Symbol.pm
+  /usr/share/perl/5.8.4/Text/ParseWords.pm
+  /usr/share/perl/5.8.4/Text/Tabs.pm
+  /usr/share/perl/5.8.4/Text/Wrap.pm
+  /usr/share/perl/5.8.4/attributes.pm
+  /usr/share/perl/5.8.4/base.pm
+  /usr/share/perl/5.8.4/bytes.pm
+  /usr/share/perl/5.8.4/bytes_heavy.pl
+  /usr/share/perl/5.8.4/constant.pm
+  /usr/share/perl/5.8.4/fields.pm
+  /usr/share/perl/5.8.4/integer.pm
+  /usr/share/perl/5.8.4/locale.pm
+  /usr/share/perl/5.8.4/overload.pm
+  /usr/share/perl/5.8.4/strict.pm
+  /usr/share/perl/5.8.4/utf8.pm
+  /usr/share/perl/5.8.4/utf8_heavy.pl
+  /usr/share/perl/5.8.4/vars.pm
+  /usr/share/perl/5.8.4/warnings.pm
+  /usr/share/perl/5.8.4/warnings/register.pm
 
 =head1 DOCUMENTATION