I think you will need to make separate Entry objects. To get you started:
use strict;
use warnings;
use Tk;
my $mw = MainWindow->new();
foreach (qw (1 2 3 4 5) )
{
gen_entry_object ($mw, "Entry Window $_");
}
MainLoop;
sub gen_entry_object
{
my $mw = shift;
my $entry = shift;
$mw->Entry(-text => "$entry" )->pack;
}
In general, the pack() geometry manager is the easiest to use. The key is to make "invisible frames" that you pack other objects into. You can pack these "invisible frames" to the left, right, up, down of each other. It has been years since I did any significant GUI work, but hand drawing a sketch of what you want before writing the code is extremely helpful. Now an entry object will have a reference to a memory location of the entered data. I didn't show that and you didn't either. A lot of experimentation is required for writing a fancy GUI, but it certainly can be done!