If you have a perl debugger then you have two symbolic universes - one for the debugging program and one for its input data, which is also a program. Could it be that you are expecting in vain that the symbols (in this case special vars) in the data should be in scope in the debugging program itself? Instead you would have to manage them in whatever synthetic symbol table you have devised for input programs to your debugger.