in reply to Updating variables in Tk programmes

Did you make a pasting mistake when posting your code, or are you really trying to have the "grid()" call for "$pg->Label()" include the creation of the BrowseEntry widget? That makes no sense. I would expect the for loop to look something like this:
my ($row,$mfld) = (0,0); for my $field ( @file_fieldnames ) { # (and where does this array come + from?) $pg->Label(....)->grid(-row => $row, -column => 0); my $brb = $pg->BrowseEntry(-variable => \$map_fields[$mfld++], )->grid(-row => $row, -column => 1); $brb->insert('end', @$dbfields); $row++; }
There may still be more things wrong with this, depending on what the @file_fieldnames array is supposed be... Why would you put the same set of field names into several BrowseEntry widgets?