Grokbase
Topics Posts Groups | in
x
[ help ]

Re: lc(undef) is not undef: bug or feature?

View PostFlat  Thread  Threaded | < Prev
Rafael Garcia-Suarez Re: lc(undef) is not undef: bug or feature?
| +1 vote
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
On 24/01/2008, Jonathan Rockway <jon@jrock.us> wrote:
> Alberto Sim=F5es <albie@alfarrabio.di.uminho.pt> writes:
>
> > Well, the subject says it all :)
> >
> > lc(undef) is the empty string.
> >
> > This might be good, this might be bad.
> > In any case, I think it should be documented.

I've added regression tests for it.

> Interestingly, some similar cases also don't warn where they should:

(etc.)

I've applied patch for that. All tests pass. #33088.

It's a very naive implementation, I just added a ckWARN and a call to
report_uninit. Given the scary comments Nicholas added in that code,
I'd be grateful to see whether one can come up with a case where that
breaks :)

Thread : lc(undef) is not undef: bug or feature?
1)
Alberto Simões Well, the subject says it all :) lc(undef) is the empty string. This might be good, this might be...
2)
Andy Armstrong I think the anomaly is that it doesn't cause a warning even with use warnings. Functions generally...
3)
Alberto Simões Just to explain how I found out: while(defined($line = lc(<>))) { But ok, I can put it on two lines...
4)
Abigail Of course. What would you expect? It's not different from 1 + undef being 1, and not undef. undef...
5)
Alberto Simões OK It's true. Well, good point ;)...
6)
Marvin Humphrey This is precisely the kind of situation where I'd hope that Perl would warn if I had warnings...
7)
Marvin Humphrey Oops. I read that backwards. Sorry for the noise. Marvin Humphrey Rectangular Research...
8)
Alberto Simões Use of uninitialized value on... ? Not sure if this was what you asked for. Cheers ambs
9)
Jonathan Rockway Interestingly, some similar cases also don't warn where they should: $ my $foo $ "$foo" Use of...
10)
Michael G Schwern I'll betcha $5 that \L is implemented using the same op as lc()... Yep, toke.c would seem to...
11)
Andy Armstrong Presumably "\L$smoo" and lc $smoo compile to the same thing.
12)
Rafael Garcia-Suarez I've added regression tests for it. I've applied patch for that. All tests pass. #33088. It's a...
spacer
View PostFlat  Thread  Threaded | < Prev