- publishing free software manuals
Perl Language Reference Manual
by Larry Wall and others
Paperback (6"x9"), 724 pages
ISBN 9781906966027
RRP £29.95 ($39.95)

Sales of this book support The Perl Foundation! Get a printed copy>>>

PERL_HASH_SEED

(Since Perl 5.8.1.) Used to randomise perl's internal hash function. To emulate the pre-5.8.1 behaviour, set to an integer (zero means exactly the same order as 5.8.0). "Pre-5.8.1" means, among other things, that hash keys will always have the same ordering between different runs of perl.

Most hashes return elements in the same order as Perl 5.8.0 by default. On a hash by hash basis, if pathological data is detected during a hash key insertion, then that hash will switch to an alternative random hash seed.

The default behaviour is to randomise unless the PERL_HASH_SEED is set. If perl has been compiled with -DUSE_HASH_SEED_EXPLICIT, the default behaviour is not to randomise unless the PERL_HASH_SEED is set.

If PERL_HASH_SEED is unset or set to a non-numeric string, perl uses the pseudorandom seed supplied by the operating system and libraries.

Please note that the hash seed is sensitive information. Hashes are randomized to protect against local and remote attacks against Perl code. By manually setting a seed this protection may be partially or completely lost.

See 22.2.9 and for more information.

ISBN 9781906966027Perl Language Reference ManualSee the print edition