directory structure is simplified. For example, if you use
prefix=/opt/perl, then Configure will suggest /opt/perl/lib instead of
/opt/perl/lib/perl5/. Again, see L<"Installation Directories"> below
-for more details.
+for more details. Do not include a trailing slash, (i.e. /opt/perl/)
+or you may experience odd test failures.
NOTE: You must not specify an installation directory that is the same
as or below your perl source directory. If you do, installperl will
installation questions are near the beginning of Configure.
Further, there are a number of additions to the installation
directories since 5.005, so reusing your old config.sh may not
-be sufficient to put everything where you want it.
+be sufficient to put everything where you want it. Do not include
+trailing slashes on directory names.
I highly recommend running Configure interactively to be sure it puts
everything where you want it. At any point during the Configure
=head2 Selecting File IO mechanisms
-Previous versions of perl used the standard IO mechanisms as defined in
-stdio.h. Versions 5.003_02 and later of perl allowed alternate IO
-mechanisms via a "PerlIO" abstraction, but the stdio mechanism is still
-the default and is the only supported mechanism.
+Executive summary: in Perl 5.8 you should use the default "PerlIO"
+as the IO mechanism unless you have a good reason not to.
+
+In more detail: previous versions of perl used the standard IO
+mechanisms as defined in stdio.h. Versions 5.003_02 and later of perl
+introuced alternate IO mechanisms via a "PerlIO" abstraction, but up
+until and including Perl 5.6 stdio mechanism was still the default and
+the only supported mechanism.
Starting from Perl 5.8 the default mechanism is to use the PerlIO
abstraction, because it allows better control of I/O mechanisms,
instead of having to work with (often, work around) vendors' I/O
implementations.
-This PerlIO abstraction can be disabled either on the Configure
-command line with
+This PerlIO abstraction can be disabled (but again, unless you know
+what you are doing, should not) either on the Configure command line
+with
sh Configure -Uuseperlio
Several tests in the test suite check timing functions, such as
sleep(), and see if they return in a reasonable amount of time.
-If your system is quite busy and doesn't return quickly enough,
-these tests might fail. If possible, try running the tests again with
-the system under a lighter load. These tests include F<t/op/alarm.t>,
-F<ext/Time/HiRes/HiRes.t>, and F<lib/Benchmark.t>.
+If your system is quite busy and doesn't respond quickly enough,
+these tests might fail. If possible, try running the tests again
+with the system under a lighter load. These timing-sensitive
+and load-sensitive tests include F<t/op/alarm.t>,
+F<ext/Time/HiRes/HiRes.t>, F<lib/Benchmark.t>,
+F<lib/Memoize/t/expmod_t.t>, and F<lib/Memoize/t/speed.t>.
=item Out of memory
=head1 Coexistence with earlier versions of perl5
+Perl 5.8 is not binary compatible with earlier versions of Perl.
+In other words, you have to recompile your XS modules.
+
In general, you can usually safely upgrade from one version of Perl (e.g.
5.004_04) to another similar version (e.g. 5.004_05) without re-compiling
all of your add-on extensions. You can also safely leave the old version
Perl installation into minimal systems (for example when installing
operating systems, or in really small filesystems).
+Leaving out as many extensions as possible is an obvious way:
+especially the Encode with its big conversion tables consumes a lot of
+space. On the other hand, you cannot throw away everything, especially
+the Fcntl module is pretty essential. If you need to do network
+programming, you'll appreciate the Socket module, and so forth: it all
+depends on what do you need to do.
+
In the following we offer two different slimmed down installation
recipes. They are informative, not normative: the choice of files
depends on what you need.