On Tue, Apr 04, 2000 at 12:03:29PM -0400, Ronald J Kimball wrote: > On Tue, Apr 04, 2000 at 09:22:08AM -0600, Tom Christiansen wrote: > > my(%h, %g, $x, $y, $z); > > %h = ($x => $y . $z); > > %g = %h; > > Use of uninitialized value in concatenation (.) at - line 3. > > Use of uninitialized value in concatenation (.) at - line 3. > > Use of uninitialized value in list assignment at - line 3. > > > > There was no list on either side. Those are just hashes. > > It's an "accident of the compiler's implementation" that > > this turns into a list. It could detect this and do something > > else. > > Running that code produces warnings for line 2, not line 3. > > > > my(@a, %h, $x, $y, $z); > > @a = ($x => $x, "$x", "$y$z", undef() => $x.$y.$z); > > %h = ($x => "@a", @a => @a, $y => join($x,$y,$z), @a); > > Use of uninitialized value in string at - line 2. > > Use of uninitialized value in concatenation (.) at - line 2. > > Use of uninitialized value in concatenation (.) at - line 2. > > Use of uninitialized value in concatenation (.) at - line 2. > > Use of uninitialized value in concatenation (.) at - line 2. > > Use of uninitialized value in concatenation (.) at - line 2. > > Use of uninitialized value in join at - line 3. > > Use of uninitialized value in join at - line 3. > > Use of uninitialized value in join at - line 3. > > Use of uninitialized value in join at - line 3. > > Use of uninitialized value in join at - line 3. > > Use of uninitialized value in join at - line 3. > > Use of uninitialized value in list assignment at - line 3. > > Use of uninitialized value in list assignment at - line 3. > > Use of uninitialized value in list assignment at - line 3. > > Use of uninitialized value in list assignment at - line 3. > > Use of uninitialized value in list assignment at - line 3. > > Use of uninitialized value in list assignment at - line 3. > > Use of uninitialized value in list assignment at - line 3. > > Use of uninitialized value in list assignment at - line 3. > > > > I ask you seriously: what it the *OPTIMAL* text you want to see here? > > Let's pretend nothing is impossible. What do you REALLY want? > > > If nothing were impossible, I think something like this would be optimal: > > Value of lexical $x is undefined in string at - line 2. > Value of lexical $y is undefined in string at - line 2. > Value of lexical $z is undefined in string at - line 2. > Value of lexical $x is undefined in concatenation (.) at - line 2. > Value of lexical $y is undefined in concatenation (.) at - line 2. > Value of lexical $z is undefined in concatenation (.) at - line 2. > Value of element 0 of lexical @a is undefined in string at - line 3. > Value of element 1 of lexical @a is undefined in string at - line 3. > Value of element 4 of lexical @a is undefined in string at - line 3. > Value of lexical $x is undefined in join at - line 3. > Value of lexical $y is undefined in join at - line 3. > Value of lexical $z is undefined in join at - line 3. > Value of lexical $x is undefined in hash assignment at - line 3. > Value of element 0 of lexical @a is undefined in hash assignment at - line 3. > Value of element 4 of lexical @a is undefined in hash assignment at - line 3. > Value of element 0 of lexical @a is undefined in hash assignment at - line 3. > Value of element 4 of lexical @a is undefined in hash assignment at - line 3. > Value of lexical $y is undefined in hash assignment at - line 3. > Value of element 0 of lexical @a is undefined in hash assignment at - line 3. > Value of element 4 of lexical @a is undefined in hash assignment at - line 3. > > > In a case such as C<undef() . "">, I would do: > > Value is undefined in concatenation ... > > or something like that. Actually, make that: Value of undef() is undefined in concatenation ... It's a bit silly, but more explicit. > The perldiag entry would be: > > Value%s is undefined in %s And that would become: Value of %s is undefined in %s RonaldThread Previous | Thread Next