I tried to set PERL_HASH_SEED to 0, but I'm getting different outputs each time.
As choroba said, there are "other related variables" too, e.g. PERL_PERTURB_KEYS.
However, since from your reply it seems like you're continuing down this route, let me state what I said here more directly: I can say with near certainty that you shouldn't be messing with these variables in the first place! Unless you can explain with certainty why you think you need these variables, I am certain we will be able to find a better (more robust, more portable, etc.) solution for you. So please explain your application some more, and the issue you are experiencing, and let's find a better solution than messing with PERL_HASH_SEED.
Update: Rereading the node, that's a lot of certainty ;-)
| [reply] [d/l] [select] |
$ for i in {1..1000} ; do PERL_HASH_SEED=0 perl -lwe '%x = qw(a b c d
+e f); print %x' ; done | sort | uniq -c
1000 cdefab
map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]
| [reply] [d/l] [select] |