#!/usr/bin/env perl -l use strict; use warnings; use Tk; { my %db_data = qw{1 term1 2 term2 3 term3}; my $mw = MainWindow::->new; $mw->Entry(-textvariable => \$db_data{$_})->pack for sort keys %db_data; $mw->Button(-text => 'Print', -command => [\&print_vals, \%db_data])->pack; $mw->Button(-text => 'Load', -command => [\&load_vals, \%db_data])->pack; } MainLoop; sub print_vals { print "@{$_[0]}{1..3}" } sub load_vals { @{$_[0]}{1..3} = qw{X Y Z} }