#!/usr/bin/perl use strict; use warnings; use Tk; my $mw = MainWindow->new; $mw->geometry(q/+100+100/); $mw->title("Test Script"); #need exportselection=>0 for using multiple selection boxes my $lb0 = $mw->Listbox(-bg => 'white', -selectmode => 'extended', -exportselection=> 0 )->pack; $lb0->insert( 'end', qw/foo bar baz/ ); my $lb1 = $mw->Listbox(-bg => 'lightseagreen', -selectmode => 'extended', -exportselection=> 0 )->pack; $lb1->insert( 'end', 1..20 ); print "$lb0 : $lb1\n"; $mw->Button( -text => "Selections", -command => sub{ print "1: ", join(" ", $lb0->curselection), "\n", "2: ", join(" ", $lb1->curselection), "\n", "\n"; my @selections0 = $lb0->curselection; my @selections1 = $lb1->curselection; foreach my $select (@selections0){ print $lb0->get($select),"\n"}; foreach my $select (@selections1){ print $lb1->get($select),"\n"}; } )->pack( -side => 'left' ); $mw->Button( -text => "Done", -command => \&exit )->pack; MainLoop;