At 8:56 AM -0600 11/13/07, John E. Malmberg wrote:
>One issue that seems to be showing up is setting an $ENV{FOO} to an empty
>string is apparently causing problems on VMS, as the resulting logical name is
>not showing up as containing an empty string, but showing up containing one or
>more non-printing characters.
There is no "issue." Since you can't have a zero-length equivalence
name, a zero-length %ENV value is stored as a NULL. Whether that
means a zero byte or a zero longword, I can't remember without
looking at the code, but that's an implementation detail that doesn't
really matter from Perl. Here's how easy it is to see what's
happening:
$ perl -e "$ENV{foo}=q//;"
$ perl -e "print ord($ENV{foo});"
0
$ perl -e "print length($ENV{foo});"
0
The value of the environment variable has zero length and a false
truth value -- I don't know what more you can ask of it. Perhaps we
could better document these internals, but the implementation has
been stable for a long time and I don't see any reason to raise a red
flag about it in the final days of a release cycle.
--
________________________________________
Craig A. Berry
mailto:[EMAIL PROTECTED]
"... getting out of a sonnet is much more
difficult than getting in."
Brad Leithauser