sub guiStart { my ($client,$dbh,$mw) = @_; $mw->configure(-title=>"Duplicates: ".$$client, -borderwidth=>30); #Create the dialog box to be passed around my $dlg = $mw->DialogBox(-title=>'Default', -buttons =>['1','0'], -borderwidth=>5); #DialogBox to be used for errors my $err = $mw->DialogBox(-title=>'Error!', -borderwidth=>5); my $list_12_12 = $dlg->Scrolled('Listbox', -scrollbars=>'oe os', -background=>'black', -foreground=>'white', -height =>12, -width =>12); my $list_20_40 = $dlg->Scrolled('Listbox', -scrollbars=>'oe os', -background=>'black', -foreground=>'white', -height =>20, -width =>40); my $label = $dlg->Label(-text=>'default'); my $errLabel = $err->Label(-text=>'default')->pack(); #30 width LabEntry widget my $labE_one = $dlg->LabEntry(-labelPack =>[qw{-side left -anchor w}], -background =>'white'); #26 width LabEntry widget my $labE_two = $dlg->LabEntry(-labelPack =>[qw{-side left -anchor w}], -background =>'white'); my @buttons = ({'List Available Data' => [\&listData,$client, $dbh, $dlg, $list_12_12]}, {'Remove Data' => [\&removeData,$client, $dbh, $dlg, $list_12_12, $label, $err, $errLabel]}, {'Add Data' => [\&addData,$client, $dbh, $dlg, $list_20_40, $label, $labE_one, $labE_two, $err, $errLabel]}, {'Identify Duplicates' => [\&identifyDuplicates,$client, $dbh, $dlg, $err, $errLabel]}, {'Exit Application' => sub{$mw->destroy()}}); for my $i (0..$#buttons) { for(keys(%{$buttons[$i]})) { $mw->Button(-text =>$_, -width =>20, -command=>$buttons[$i]->{$_})->pack(); } } $mw->deiconify(); return; }