To fix your current problem, change
-sticky => 'we',
to
-sticky => 'nsew',
See Tk::Pane for details.
You also have quite a lot of other issues. Here's half a dozen that seemed immediately obvious:
-
my $mw = MainWindow->new(); is a fairly standard convention. By using $mw for a different window, your code becomes confusing.
-
You have "our $mw = $mw_top->Scrolled(Pane, ...". Beyond the $mw issue (in the last point), why are you using our instead of my?
-
-gridded => 'y' is meaningless. See Tk::Pane for the reason.
-
$mw->Frame; is pointless: other than using some memory and CPU, it does nothing.
-
$frame_commons_first_level and $frame_entry_info have no content.
-
our $t: again, why are you using our instead of my?