In my actual code, I do use the new construct. My mistake.
My code works fine until I attempt $window->getobj('p3')->{-text} = "Something"; on a variable passed to a subroutine as &UpdateP3($window). I get an error stating 'getobj' can't be used/called on an undefined variable.
If all objects are references, I should be able to pass it to a subroutine and invoke the getobj method, right?