[32191] in Perl-Users-Digest

home help back first fref pref prev next nref lref last post

Perl-Users Digest, Issue: 3456 Volume: 11

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Wed Jul 27 18:09:26 2011

Date: Wed, 27 Jul 2011 15:09:05 -0700 (PDT)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)

Perl-Users Digest           Wed, 27 Jul 2011     Volume: 11 Number: 3456

Today's topics:
        Generating an anonymous reference to an OO method <matt.pounsett@gmail.com>
    Re: why won't perl say which value was uninitialized? <uri@StemSystems.com>
    Re: why won't perl say which value was uninitialized? <willem@toad.stack.nl>
    Re: why won't perl say which value was uninitialized? <uri@StemSystems.com>
    Re: why won't perl say which value was uninitialized? <tadmc@seesig.invalid>
    Re: why won't perl say which value was uninitialized? <willem@toad.stack.nl>
    Re: why won't perl say which value was uninitialized? (Randal L. Schwartz)
    Re: why won't perl say which value was uninitialized? <willem@toad.stack.nl>
    Re: why won't perl say which value was uninitialized? (Randal L. Schwartz)
    Re: why won't perl say which value was uninitialized? <rweikusat@mssgmbh.com>
    Re: why won't perl say which value was uninitialized? <willem@toad.stack.nl>
    Re: why won't perl say which value was uninitialized? <rweikusat@mssgmbh.com>
    Re: why won't perl say which value was uninitialized? <kst-u@mib.org>
        Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)

----------------------------------------------------------------------

Date: Wed, 27 Jul 2011 14:15:51 -0700 (PDT)
From: Matthew Pounsett <matt.pounsett@gmail.com>
Subject: Generating an anonymous reference to an OO method
Message-Id: <f0ea1331-6633-4be5-bb70-bc5d04d2ff32@glegroupsg2000goo.googlegroups.com>

Is there a way to get an anonymous reference to an OO method that can then =
be executed?  I'm trying to create a reference to the new() method in one o=
f the Digest:: modules, depending on which digest type has been selected, s=
o that I don't have to keep having the same big if() block every time I cre=
ate a new digest.  My first stab at what I'm trying to attempt looked like =
this:

----
use Digest::MD5;

$digest =3D \&Digest::MD5::new;
$foo =3D &$digest();
$foo->add( "blahblahblah" );
print $foo->hexdigest;
----

This appears to be close, except that I get Digest::MD5->new()'s usage erro=
r when I try to reference &$digest.  Anyone have any suggestions for how to=
 adjust this?


------------------------------

Date: Wed, 27 Jul 2011 12:08:42 -0400
From: "Uri Guttman" <uri@StemSystems.com>
Subject: Re: why won't perl say which value was uninitialized?
Message-Id: <87pqkvr9it.fsf@quad.sysarch.com>

>>>>> "W" == Willem  <willem@toad.stack.nl> writes:

  W> Keith Thompson wrote:
  W> <snip>
  W> ) So apparently an argument to print is one of the contexts where
  W> ) the presence of "undef" indicates an exceptional condition.
  W> )
  W> ) I take it you think it shouldn't do so, and you're certainly entitled
  W> ) to that opinion.  But if you don't like the way Perl treats "undef",
  W> ) I'm not the one you should be complaining to.

  W> no warnings 'uninitialized';

  W> (Which, incidently, adorns most of my perl code, as I use a lot of autoviv)


proper autoviv where an undef value is used where an lvalue reference
would normally be doesn't generate warnings. this is because the whole
idea of autoviv is to be useful as when incrementing an undef for a
counter or appending text to an undef. they are common expected uses of
undef and don't generate warnings. the other cases are usually the ones
where you probably made a mistake and should be told about it.

uri

-- 
Uri Guttman  --  uri AT perlhunter DOT com  ---  http://www.perlhunter.com --
------------  Perl Developer Recruiting and Placement Services  -------------
-----  Perl Code Review, Architecture, Development, Training, Support -------


------------------------------

Date: Wed, 27 Jul 2011 16:16:50 +0000 (UTC)
From: Willem <willem@toad.stack.nl>
Subject: Re: why won't perl say which value was uninitialized?
Message-Id: <slrnj30efi.1s7l.willem@toad.stack.nl>

Uri Guttman wrote:
)>>>>> "W" == Willem  <willem@toad.stack.nl> writes:
)  W> no warnings 'uninitialized';
)
)  W> (Which, incidently, adorns most of my perl code, as I use a lot of autoviv)
)
)
) proper autoviv where an undef value is used where an lvalue reference
) would normally be doesn't generate warnings. this is because the whole
) idea of autoviv is to be useful as when incrementing an undef for a
) counter or appending text to an undef. they are common expected uses of
) undef and don't generate warnings. the other cases are usually the ones
) where you probably made a mistake and should be told about it.

I use autoviv.  I get warnings about uninitialized values.  No mistakes.

Case closed.


SaSW, Willem
-- 
Disclaimer: I am in no way responsible for any of the statements
            made in the above text. For all I know I might be
            drugged or something..
            No I'm not paranoid. You all think I'm paranoid, don't you !
#EOT


------------------------------

Date: Wed, 27 Jul 2011 12:30:21 -0400
From: "Uri Guttman" <uri@StemSystems.com>
Subject: Re: why won't perl say which value was uninitialized?
Message-Id: <87aabzr8iq.fsf@quad.sysarch.com>

>>>>> "W" == Willem  <willem@toad.stack.nl> writes:

  W> Uri Guttman wrote:
  W> )>>>>> "W" == Willem  <willem@toad.stack.nl> writes:
  W> )  W> no warnings 'uninitialized';
  W> )
  W> )  W> (Which, incidently, adorns most of my perl code, as I use a lot of autoviv)
  W> )
  W> )
  W> ) proper autoviv where an undef value is used where an lvalue reference
  W> ) would normally be doesn't generate warnings. this is because the whole
  W> ) idea of autoviv is to be useful as when incrementing an undef for a
  W> ) counter or appending text to an undef. they are common expected uses of
  W> ) undef and don't generate warnings. the other cases are usually the ones
  W> ) where you probably made a mistake and should be told about it.

  W> I use autoviv.  I get warnings about uninitialized values.  No mistakes.

  W> Case closed.

you need to show code to close the case. normal autoviv does not warn.

uri

-- 
Uri Guttman  --  uri AT perlhunter DOT com  ---  http://www.perlhunter.com --
------------  Perl Developer Recruiting and Placement Services  -------------
-----  Perl Code Review, Architecture, Development, Training, Support -------


------------------------------

Date: Wed, 27 Jul 2011 11:39:40 -0500
From: Tad McClellan <tadmc@seesig.invalid>
Subject: Re: why won't perl say which value was uninitialized?
Message-Id: <slrnj30fca.3k8.tadmc@tadbox.sbcglobal.net>

Uri Guttman <uri@StemSystems.com> wrote:
>>>>>> "W" == Willem  <willem@toad.stack.nl> writes:
>
>  W> Uri Guttman wrote:
>  W> )>>>>> "W" == Willem  <willem@toad.stack.nl> writes:
>  W> )  W> no warnings 'uninitialized';
>  W> )
>  W> )  W> (Which, incidently, adorns most of my perl code, as I use a lot of autoviv)
>  W> )
>  W> )
>  W> ) proper autoviv where an undef value is used where an lvalue reference
>  W> ) would normally be doesn't generate warnings. this is because the whole
>  W> ) idea of autoviv is to be useful as when incrementing an undef for a
>  W> ) counter or appending text to an undef. they are common expected uses of
>  W> ) undef and don't generate warnings. the other cases are usually the ones
>  W> ) where you probably made a mistake and should be told about it.
>
>  W> I use autoviv.  I get warnings about uninitialized values.  No mistakes.
>
>  W> Case closed.
>
> you need to show code to close the case. normal autoviv does not warn.


I'd be interested to see some code that warns while autoviv'ing too.


-- 
Tad McClellan
email: perl -le "print scalar reverse qq/moc.liamg\100cm.j.dat/"
The above message is a Usenet post.
I don't recall having given anyone permission to use it on a Web site.


------------------------------

Date: Wed, 27 Jul 2011 17:04:24 +0000 (UTC)
From: Willem <willem@toad.stack.nl>
Subject: Re: why won't perl say which value was uninitialized?
Message-Id: <slrnj30h8o.246t.willem@toad.stack.nl>

Tad McClellan wrote:
) I'd be interested to see some code that warns while autoviv'ing too.

Not while autiviv'ing, but using autoviv.  Simplest example I can think of:

sub sort_letters
{
  my ($text) = @_;
  my %letters;
  for (split(//, lc $text)) {
    $letters{$_}++ if /[a-z]/;
  }
  for my $l ('a' .. 'z') {
    printf "The letter '%s' occurs %3d times.\n", $l, $letters{$l};
  }
}

Note that this is a contrived example, and that the actual code in which I
came across the warnings is a lot more complex, so any complaints about how
it could have been done differently don't apply.


SaSW, Willem
-- 
Disclaimer: I am in no way responsible for any of the statements
            made in the above text. For all I know I might be
            drugged or something..
            No I'm not paranoid. You all think I'm paranoid, don't you !
#EOT


------------------------------

Date: Wed, 27 Jul 2011 11:12:15 -0700
From: merlyn@stonehenge.com (Randal L. Schwartz)
To: Willem <willem@toad.stack.nl>
Subject: Re: why won't perl say which value was uninitialized?
Message-Id: <8662mntwxs.fsf@red.stonehenge.com>

>>>>> "Willem" == Willem  <willem@toad.stack.nl> writes:

Willem> Not while autiviv'ing, but using autoviv.  Simplest example I can think of:

Willem> sub sort_letters
Willem> {
Willem>   my ($text) = @_;
Willem>   my %letters;
Willem>   for (split(//, lc $text)) {
Willem>     $letters{$_}++ if /[a-z]/;
Willem>   }
Willem>   for my $l ('a' .. 'z') {
Willem>     printf "The letter '%s' occurs %3d times.\n", $l, $letters{$l};
Willem>   }
Willem> }

You're not getting the warning during autoviv.  You're getting it during
the final loop when you reference a letter that hasn't been used, like
$letters{'x'}, which will try to push an undef into the %3d format.

I too, am curious about when you would get the error during autoviv.

print "Just another Perl hacker,"; # the original

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
See http://methodsandmessages.posterous.com/ for Smalltalk discussion


------------------------------

Date: Wed, 27 Jul 2011 18:28:58 +0000 (UTC)
From: Willem <willem@toad.stack.nl>
Subject: Re: why won't perl say which value was uninitialized?
Message-Id: <slrnj30m7a.2lpf.willem@toad.stack.nl>

Randal L. Schwartz wrote:
)>>>>> "Willem" == Willem  <willem@toad.stack.nl> writes:
)
)Willem> Not while autiviv'ing, but using autoviv.  Simplest example I can think of:
)
)Willem> sub sort_letters
)Willem> {
)Willem>   my ($text) = @_;
)Willem>   my %letters;
)Willem>   for (split(//, lc $text)) {
)Willem>     $letters{$_}++ if /[a-z]/;
)Willem>   }
)Willem>   for my $l ('a' .. 'z') {
)Willem>     printf "The letter '%s' occurs %3d times.\n", $l, $letters{$l};
)Willem>   }
)Willem> }
)
) You're not getting the warning during autoviv.  You're getting it during
) the final loop when you reference a letter that hasn't been used, like
) $letters{'x'}, which will try to push an undef into the %3d format.

Duh.  Have you actually read the first line of what you quoted above ?

) I too, am curious about when you would get the error during autoviv.

I am curious as to when I'm supposed to have said that I get the error
*during* autoviv, especially when I specifically stated above that I did
not.  This is starting to look like a witch hunt.


SaSW, Willem
-- 
Disclaimer: I am in no way responsible for any of the statements
            made in the above text. For all I know I might be
            drugged or something..
            No I'm not paranoid. You all think I'm paranoid, don't you !
#EOT


------------------------------

Date: Wed, 27 Jul 2011 11:58:45 -0700
From: merlyn@stonehenge.com (Randal L. Schwartz)
To: Willem <willem@toad.stack.nl>
Subject: Re: why won't perl say which value was uninitialized?
Message-Id: <86mxfzsg7u.fsf@red.stonehenge.com>

>>>>> "Willem" == Willem  <willem@toad.stack.nl> writes:

Willem> no warnings 'uninitialized';

Willem> (Which, incidently, adorns most of my perl code, as I use a lot
Willem> of autoviv)

and then later wrote:

Willem> I am curious as to when I'm supposed to have said that I get the
Willem> error *during* autoviv, especially when I specifically stated
Willem> above that I did not.  This is starting to look like a witch
Willem> hunt.

Not a witch hunt... just a fairly straightforward interpretation of your
first statement.  Please read it as we obviously did, and you'll see why
we started looking for instances of warnings during autoviv.

We can only read what you write... we can't read your mind.

print "Just another Perl hacker,"; # the original

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
See http://methodsandmessages.posterous.com/ for Smalltalk discussion


------------------------------

Date: Wed, 27 Jul 2011 20:09:19 +0100
From: Rainer Weikusat <rweikusat@mssgmbh.com>
Subject: Re: why won't perl say which value was uninitialized?
Message-Id: <87k4b3bkww.fsf@sapphire.mobileactivedefense.com>

Keith Thompson <kst-u@mib.org> writes:
> Rainer Weikusat <rweikusat@mssgmbh.com> writes:
>> Keith Thompson <kst-u@mib.org> writes:
>>> Rainer Weikusat <rweikusat@mssgmbh.com> writes:
>> [...]
>>
>>>>>> Why is this to be sacrificed on an altar dediciated to someone who did
>>>>>> a half-assed implementation of a warning for situation which is
>>>>>> perfectly legal because of a bad hangover and inbred intolerance
>>>>>> for differences, no matter if they happen to be beneficial or not?
>>>>>
>>>>> Perfectly legal?  Then what should print do with an undef argument?
>>>>
>>>> Well, what it is supposed to do: Print nothing aka 'an empty string'.
>>>
>>> What is the basis for your assertion that ``print undef'' is *supposed*
>>> to print an empty string?
>>
>> What is the basis for your assertion that the scalar representing 'an
>> undefined value' is supposed to behave differently from all other Perl
>> scalars wrt to stringification and conversion to a numerical value,
>> especially given that it doesn't?
>
> Oh, but it does; see below.

It doesn't. Provided that someone unconditionally enables 'all runtime
warning which happen to exist' (in a suitable version of perl), a
'uinitialized value ...' message is occasionally printed when an value
for which the defined-routine would return false is used.

>> 	Note that since "undef" is a valid scalar, its presence
>>         doesn't *necessarily* indicate an exceptional condition
>>
>> That's from the documentation of the 'defined' function.         
>
> Did you notice the word "necessarily" there?  It implies that the
> presence of "undef" sometimes *does* indicate an exceptional
> condition.

Yes. As also documented in the same part of the perl documentation
(and at least once completely ignored by you in the past which makes
me think that you experience with Perl cannot possibly go back to the
time when definedness hadn't yet been invented[*]):

	Many operations return "undef" to indicate failure, end of
	file, system error, uninitialized variable, and other
	exceptional conditions.  This function allows you to
	distinguish "undef" from other values.  (A simple Boolean test
	will not distinguish among "undef", zero, the empty string,
	and "0", which are all equally false.)

	[*] While it was possible to return something with a numeric
	value of zero which would nevertheless evaluate to true, using
	tricks like returning the string 0buttrue it wasn't possible
	to write a function returning a string which could signal
	'failure' to its caller without relying on some 'magic' string
	value. 

> If it didn't, the sentence would probably read:
>
> 	Note that since "undef" is a valid scalar, its presence doesn't
>       indicate an exceptional condition.
>
> But this:
>
>     print undef;
>
> does in fact trigger a warning (if warnings are enabled).
> So apparently an argument to print is one of the contexts where
> the presence of "undef" indicates an exceptional condition.

Insofar you defined 'exceptional condition' as 'the interpreter prints
a useless message and performs the requested operation' (which might
or might not be the operation that should have been performed,
completely indepdentely of the useless message) then, an excpetional
condition has occurred whenever the useless message in question was
printed. But that's not how the text documenting the defined function
uses the term 'exceptional condition'.

> I take it you think it shouldn't do so, and you're certainly entitled
> to that opinion.  But if you don't like the way Perl treats "undef",
> I'm not the one you should be complaining to.

I have absolutely no problems with the way perl 'treats undef'. OTOH,
you (and presumably, a lot of other people) have all kinds of
artificial technical problems because you desire to see something in
undef which it actually isn't.


------------------------------

Date: Wed, 27 Jul 2011 19:29:46 +0000 (UTC)
From: Willem <willem@toad.stack.nl>
Subject: Re: why won't perl say which value was uninitialized?
Message-Id: <slrnj30ppa.2r8e.willem@toad.stack.nl>

Randal L. Schwartz wrote:
)>>>>> "Willem" == Willem  <willem@toad.stack.nl> writes:
)
)Willem> no warnings 'uninitialized';
)
)Willem> (Which, incidently, adorns most of my perl code, as I use a lot
)Willem> of autoviv)
)
) and then later wrote:
)
)Willem> I am curious as to when I'm supposed to have said that I get the
)Willem> error *during* autoviv, especially when I specifically stated
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)Willem> above that I did not.  This is starting to look like a witch
         ^^^^^^^^^^^^^^^^^^^^^
)Willem> hunt.
)
) Not a witch hunt... just a fairly straightforward interpretation of your
) first statement.  Please read it as we obviously did, and you'll see why
) we started looking for instances of warnings during autoviv.

Sorry, but I don't see how I could, when you're blatantly
ignoring half of what I wrote.


SaSW, Willem
-- 
Disclaimer: I am in no way responsible for any of the statements
            made in the above text. For all I know I might be
            drugged or something..
            No I'm not paranoid. You all think I'm paranoid, don't you !
#EOT


------------------------------

Date: Wed, 27 Jul 2011 20:33:45 +0100
From: Rainer Weikusat <rweikusat@mssgmbh.com>
Subject: Re: why won't perl say which value was uninitialized?
Message-Id: <87fwlrbjs6.fsf@sapphire.mobileactivedefense.com>

"Uri Guttman" <uri@StemSystems.com> writes:
>>>>>> "W" == Willem  <willem@toad.stack.nl> writes:
>
>   W> Keith Thompson wrote:
>   W> <snip>
>   W> ) So apparently an argument to print is one of the contexts where
>   W> ) the presence of "undef" indicates an exceptional condition.
>   W> )
>   W> ) I take it you think it shouldn't do so, and you're certainly entitled
>   W> ) to that opinion.  But if you don't like the way Perl treats "undef",
>   W> ) I'm not the one you should be complaining to.
>
>   W> no warnings 'uninitialized';
>
>   W> (Which, incidently, adorns most of my perl code, as I use a lot of autoviv)
>
>
> proper autoviv where an undef value is used where an lvalue reference
> would normally be doesn't generate warnings. this is because the whole
> idea of autoviv is to be useful as when incrementing an undef for a
> counter or appending text to an undef.

Autovivification is defined (in perlref(1)) as

	References of the appropriate type can spring into existence
	if you dereference them in a context that assumes they exist.

And this is consistent with all other occurences of autovivification
except the one on the perlreftut(1) document which doesn't count
(tutorial being in conflict with reference documentation means
tutorial is wrong).

Consequently, there is no 'autovivification' involvled in applying a
mutating operator to a scalar whose value happens to be undefined:
This undefined value is converted to a value of the proper type in the
same way it will always be converted and this converted value is used
for the operation. Specifically regarding the use of ++ or --
operations on variables without defined values, the perlop(1) page
states that

       "undef" is always treated as numeric, and in particular is
       changed to 0 before incrementing (so that a post-increment of
       an undef value will return 0 rather than "undef").


------------------------------

Date: Wed, 27 Jul 2011 12:44:38 -0700
From: Keith Thompson <kst-u@mib.org>
Subject: Re: why won't perl say which value was uninitialized?
Message-Id: <ln39hrh5jt.fsf@nuthaus.mib.org>

Rainer Weikusat <rweikusat@mssgmbh.com> writes:
> Keith Thompson <kst-u@mib.org> writes:
>> Rainer Weikusat <rweikusat@mssgmbh.com> writes:
>>> Keith Thompson <kst-u@mib.org> writes:
>>>> Rainer Weikusat <rweikusat@mssgmbh.com> writes:
>>> [...]
>>>
>>>>>>> Why is this to be sacrificed on an altar dediciated to someone
>>>>>>> who did a half-assed implementation of a warning for situation
>>>>>>> which is perfectly legal because of a bad hangover and inbred
>>>>>>> intolerance for differences, no matter if they happen to be
>>>>>>> beneficial or not?
>>>>>>
>>>>>> Perfectly legal?  Then what should print do with an undef
>>>>>> argument?
>>>>>
>>>>> Well, what it is supposed to do: Print nothing aka 'an empty
>>>>> string'.
>>>>
>>>> What is the basis for your assertion that ``print undef'' is
>>>> *supposed* to print an empty string?
>>>
>>> What is the basis for your assertion that the scalar representing
>>> 'an undefined value' is supposed to behave differently from all
>>> other Perl scalars wrt to stringification and conversion to a
>>> numerical value, especially given that it doesn't?
>>
>> Oh, but it does; see below.
>
> It doesn't. Provided that someone unconditionally enables 'all runtime
> warning which happen to exist' (in a suitable version of perl), a
> 'uinitialized value ...' message is occasionally printed when an value
> for which the defined-routine would return false is used.

So you say it doesn't behave differently, and then you describe the
circumstances in which it does behave differently.

Or do you not consider the warning to be "behavior"?

>>> 	Note that since "undef" is a valid scalar, its presence
>>>         doesn't *necessarily* indicate an exceptional condition
>>>
>>> That's from the documentation of the 'defined' function.         
>>
>> Did you notice the word "necessarily" there?  It implies that the
>> presence of "undef" sometimes *does* indicate an exceptional
>> condition.
>
> Yes. As also documented in the same part of the perl documentation
> (and at least once completely ignored by you in the past which makes
> me think that you experience with Perl cannot possibly go back to the
> time when definedness hadn't yet been invented[*]):

I'm having trouble imagining any possible relevance for that last
sentence.  Can you clarify?

> 	Many operations return "undef" to indicate failure, end of
> 	file, system error, uninitialized variable, and other
> 	exceptional conditions.  This function allows you to
> 	distinguish "undef" from other values.  (A simple Boolean test
> 	will not distinguish among "undef", zero, the empty string,
> 	and "0", which are all equally false.)
>
> 	[*] While it was possible to return something with a numeric
> 	value of zero which would nevertheless evaluate to true, using
> 	tricks like returning the string 0buttrue it wasn't possible
> 	to write a function returning a string which could signal
> 	'failure' to its caller without relying on some 'magic' string
> 	value. 

That last paragraph doesn't appear to be from the Perl documentation,
though your indentation implies that it is.

Yes, "defined" and "undef" have been in Perl since I before I started
using it, around version 4.010 or so.  Are you suggesting that current
Perl usage should be guided by the way Perl was defined back then?

>> If it didn't, the sentence would probably read:
>>
>> 	Note that since "undef" is a valid scalar, its presence doesn't
>>       indicate an exceptional condition.
>>
>> But this:
>>
>>     print undef;
>>
>> does in fact trigger a warning (if warnings are enabled).
>> So apparently an argument to print is one of the contexts where
>> the presence of "undef" indicates an exceptional condition.
>
> Insofar you defined 'exceptional condition' as 'the interpreter prints
> a useless message and performs the requested operation' (which might
> or might not be the operation that should have been performed,
> completely indepdentely of the useless message) then, an excpetional
> condition has occurred whenever the useless message in question was
> printed. But that's not how the text documenting the defined function
> uses the term 'exceptional condition'.

Please don't put words in my mouth.  Feel free to call the message
"useless" if you like, but don't imply that I defined it that way.

>> I take it you think it shouldn't do so, and you're certainly entitled
>> to that opinion.  But if you don't like the way Perl treats "undef",
>> I'm not the one you should be complaining to.
>
> I have absolutely no problems with the way perl 'treats undef'. OTOH,
> you (and presumably, a lot of other people) have all kinds of
> artificial technical problems because you desire to see something in
> undef which it actually isn't.

Just what technical problems do you think I have?  I avoid trying
to print undefined values, and I use Perl's built-in warnings to
help me do so.  How is that a problem?  (I might guess that you define
"problem" as "doing something other than what you would do", but I
wouldn't want to put words in your mouth.)

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Nokia
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"


------------------------------

Date: 6 Apr 2001 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin) 
Subject: Digest Administrivia (Last modified: 6 Apr 01)
Message-Id: <null>


Administrivia:

To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.

Back issues are available via anonymous ftp from
ftp://cil-www.oce.orst.edu/pub/perl/old-digests. 

#For other requests pertaining to the digest, send mail to
#perl-users-request@ruby.oce.orst.edu. Do not waste your time or mine
#sending perl questions to the -request address, I don't have time to
#answer them even if I did know the answer.


------------------------------
End of Perl-Users Digest V11 Issue 3456
***************************************


home help back first fref pref prev next nref lref last post