Your
foreach loop will only make your GUI widget print the last element in the array when you select an entry, you need to re-engineer that. You're not making use of the widget state variable
$exportngram whose value toggles between 0 and 1 depending on whether it is unselected or selected but again, this might not be serving any purpose in the code snippet you posted.
I suggest you re-implement the same using a ListBox or a BrowsEntry widget..
#This snippet uses a listbox to deliver the required behavior.
#You can double click a value to show or just use the print button.
use strict;
use warnings;
use Tk;
my $mainWindow = MainWindow->new(-title=>"Main Window");
my $listBox = $mainWindow->Scrolled(
'Listbox',
-scrollbars=>'e'
)->pack;
$listBox->insert('end',qw(Nickle Dime Quarter));
$listBox->bind('<Double-1>', \&getActive);
$mainWindow->Button(
-text=>'print value',
-command=>\&getActive,
)->pack();
sub getActive{
my $currency;
$currency = $listBox->get('active'); #get the current selection
print $currency,"\n";
};
MainLoop;
Excellence is an Endeavor of Persistence.
A Year-Old Monk :D .