>But the cases that I'm really interested in are where you want to export >constants and be sure that they can't be messed up: The trend over the last few decades has been to design computer languages that enforce a state of paranoia. You're expected to program every module as if it were in a state of siege. Certainly there are some feudal cultures where this is appropriate, but not all cultures are like this. Specifically, Perl's culture is not. If your users have been peeking and poking into the private affairs of your module, the inevitable disaster is their own fault and none of your concern. All you can do is live up to your end of the contract by maintaining the interface. Trying to stop everyone else in the world from ever doing something slightly wicked will take up all your time and energy--and in the end, fail anyway. It's like passing a law against naughty thoughts. Or against suicide. Neither has any beneficial effect whatsoever, because the determined will always be there to circumvent your wishes. Only education helps. --tomThread Next