changes in the Perl language in the current release. Please see
pod/perldelta.pod for a description of what's changed.
+=head1 WARNING: This version requires a compiler that supports ANSI C.
+
+If you find that your C compiler is not ANSI-capable, try obtaining
+GCC, available from GNU mirrors worldwide (e.g. ftp://ftp.gnu.org/pub/gnu).
+Another alternative may be to use a tool like C<ansi2knr> to convert the
+sources back to K&R style, but there is no guarantee this route will get
+you anywhere, since the prototypes are not the only ANSI features used
+in the Perl sources. C<ansi2knr> is usually found as part of the freely
+available C<Ghostscript> distribution. Another similar tool is
+C<unprotoize>, distributed with GCC. Since C<unprotoize> requires GCC to
+run, you may have to run it on a platform where GCC is available, and move
+the sources back to the platform without GCC.
+
+If you succeed in automatically converting the sources to a K&R compatible
+form, be sure to email perlbug@perl.com to let us know the steps you
+followed. This will enable us to officially support this option.
+
=head1 Space Requirements
The complete perl5 source tree takes up about 10 MB of disk space. The
If you need to install perl on many identical systems, it is
convenient to compile it once and create an archive that can be
-installed on multiple systems. Here's one way to do that:
+installed on multiple systems. Suppose, for example, that you want to
+create an archive that can be installed in /opt/perl.
+Here's one way to do that:
# Set up config.over to install perl into a different directory,
# e.g. /tmp/perl5 (see previous part).
- sh Configure -des
+ sh Configure -Dprefix=/opt/perl -des
make
make test
- make install
+ make install # This will install everything into /tmp/perl5.
cd /tmp/perl5
- # Edit $archlib/Config.pm to change all the
+ # Edit $archlib/Config.pm and $archlib/.packlist to change all the
# install* variables back to reflect where everything will
- # really be installed.
- # Edit any of the scripts in $scriptdir to have the correct
+ # really be installed. (That is, change /tmp/perl5 to /opt/perl
+ # everywhere in those files.)
+ # Check the scripts in $scriptdir to make sure they have the correct
# #!/wherever/perl line.
tar cvf ../perl5-archive.tar .
# Then, on each machine where you want to install perl,
- cd /usr/local # Or wherever you specified as $prefix
+ cd /opt/perl # Or wherever you specified as $prefix
tar xvf perl5-archive.tar
=head2 Site-wide Policy settings
by adding appropriate -D directives to your ccflags variable in
config.sh.
-For example, you can replace the rand() and srand() functions in the
-perl source by any other random number generator by a trick such as the
-following (this should all be on one line):
-
- sh Configure -Dccflags='-Dmy_rand=random -Dmy_srand=srandom' \
- -Drandbits=31
-
-or you can use the drand48 family of functions with
-
- sh Configure -Dccflags='-Dmy_rand=lrand48 -Dmy_srand=srand48' \
- -Drandbits=31
-
-or by adding the -D flags to your ccflags at the appropriate Configure
-prompt. (Read pp.c to see how this works.)
+Starting from Perl 5.005_53 you no more need to replace the rand() and
+srand() functions in the perl source by any other random number
+generator because Configure chooses the widest one available
+(drand48(), srandom(), or rand()).
You should also run Configure interactively to verify that a hint file
doesn't inadvertently override your ccflags setting. (Hints files