http://www.perlmonks.org?node_id=404990


in reply to Scoping question

Hello

The problem is, that the 'my $item' declaration only happens if the '$self->grid($x, $y)'
call actually returns something.
Other wise, there is no 'my' declaration, so you get the error stating that the
'$item' var is not known about.

Hope that helps
Wonko

Update: I stand corrected. Thank you pg

Replies are listed 'Best First'.
Re^2: Scoping question
by pg (Canon) on Nov 03, 2004 at 20:49 UTC
    "The problem is, that the 'my $item' declaration only happens if the '$self->grid($x, $y)' call actually returns something."

    There is some gap in this explaination, as $self->grid($x, $y) is before that and operator, obviously it returns first. If what you said was true, then at the time you go evaluate what's after that and operator, $item is already there, and there should be no problem.

    This really has nothing to do with the actual execution of the code, but rather the way, the interpreter parses the code.