in reply to Storing variable coordinates in a matrix
Hint: you need two nested loops -- nested because of two dimensions x and y -- one loop to clear the 'screen' matrix and one loop to repopulate it and ..."One loop to bring them all and in the darkness run them" ;) (just kidding at the end there)...
Also I'd be expecting to pass five variables to a more generic subroutine -- reference to screen matrix, x, y, width and height rather than hard-code the 3x3.
Totals: 0 modules and about 6 - 12 lines of code should do this.
More hint: the syntax for assigning to an element of a matrix passed by reference would be
$ref -> [$x][$y] = 'X';
-M
Free your mind
In Section
Seekers of Perl Wisdom