It's usually not necessary to call C<srand> at all, because if it is
not called explicitly, it is called implicitly at the first use of the
-C<rand> operator. However, this was not the case in version of Perl
+C<rand> operator. However, this was not the case in versions of Perl
before 5.004, so if your script will run under older Perl versions, it
should call C<srand>.
The point of the function is to "seed" the C<rand> function so that
C<rand> can produce a different sequence each time you run your
program. Just do it B<once> at the top of your program, or you
-I<won't> get random numbers out of C<rand>!
+I<won't> get random numbers out of C<rand>.
If EXPR is omitted, uses a semi-random value supplied by the kernel
(if it supports the F</dev/urandom> device) or based on the current
=item *
-Do B<not> call srand() (i.e. without an argument) more than once in a
-script. The internal state of the random number generator should
+Do B<not> call srand() (i.e. without an argument) more than once in
+a script. The internal state of the random number generator should
contain more entropy than can be provided by any seed, so calling
srand() again actually I<loses> randomness. And you shouldn't use
srand() at all unless you need backward compatibility with Perls older
=item *
Do B<not> call srand($seed) (i.e. with an argument) multiple times in
-a script I<unless> you know exactly what you're doing and why you're
-doing it. Usually this requires intimate knowledge of the
-implementation of srand() and rand() on your platform.
+a script for any other purpose than calling it with the I<same>
+argument to produce the I<same> sequence out of rand() I<unless> you
+know exactly what you're doing and why you're doing it. Usually doing
+anything else than reusing the same seed requires intimate knowledge of
+the implementation of srand() and rand() on your platform.
=back