On Jun 14, Bart Lateur said: >On Fri, 14 Jun 2002 00:21:16 -0400, Michael G Schwern wrote: > >>The history is someone noticed that since this: >> >> my $foo; $foo = $foo . 42 >> Use of uninitialized value at -e line 1. >> >>and this: >> >> my $foo; $foo .= 42 >> >>are logically the same, the former shouldn't warn. > >Perhaps... (I feel like disagreeing, though.) > >Anyway: > > my($foo, $bar); $foo = $bar . 42; > >*should* warn. Only in the exceptional case where the lvalue on the left >is identical to the lvalue first thing on the right, the warning might >be dropped. Well: it doesn't warn. That makes no sense at all, either >'.' should warn (pretty much) always, or never. > >And that's where my disagreement kicks in. The rules used to be much >simpler: '.' warns, '.=' doesn't. I feel that rule make much more sense, >"logically the same" or not. If you don't want the warning, use '.='.
Yeah, if we start allowing undef values when they're being used for concatenation, we'll stop being warned when we might want to be. :( -- Jeff "japhy" Pinyan [EMAIL PROTECTED] http://www.pobox.com/~japhy/ RPI Acacia brother #734 http://www.perlmonks.org/ http://www.cpan.org/ ** Look for "Regular Expressions in Perl" published by Manning, in 2002 ** <stu> what does y/// stand for? <tenderpuss> why, yansliterate of course. [ I'm looking for programming work. If you like my work, let me know. ]