To be frank, I'm not overly happy with this.
I asked:
"Please supply a short working script."
The code you've supplied does not even compile.
I also asked:
"Also provide verbatim copies of any warning or error messages you're seeing."
So, where is:
Global symbol "$user_entry_don" requires explicit package name at ...
Execution of ... aborted due to compilation errors.
Would I be right in assuming that you didn't even bother to test this code?
In addition, I asked you to exclude any code that wasn't "relevant to the problem at hand".
You've included four modules not used by the code you posted (Getopt::Long, Cwd, List::Util and Tk::ROText), a geometry() call (only suitable for particularly large screens) and other code: all irrelevant!
I changed:
$dialog_top->Button(-text=>"OK",-command=>sub {$user_entry_don
+e = 1 unless($temp_var =~ m/^$/);})->pack;
to:
$dialog_top->Button(-text=>"OK",-command=>sub {$user_entry_don
+e = 1 unless($temp_var =~ m/^$/);})->pack;
The script now compiles and runs without any error or warning output. The "Test" button pops up the Toplevel; I'm able to enter text from the keyboard in the Entry widget; the "OK" button removes the Toplevel.
I swapped the order of the Entry and Button widget code.
Other than those widgets appearing in reverse order, the script runs the same as before.
I am unable to reproduce your problem.
I'm using Perl v5.18.1 and Tk v804.031 — perhaps try upgrading if you're using older versions.
|