#!/usr/bin/perl use strict; use warnings; use Tk; use Tk::HList; use Tk::Dialog; my %Var = ( ); my %Ptk = ( ); tk_main(); MainLoop(); exit 0; sub tk_main { my $mw = MainWindow->new(); $Ptk{Main_window} = $mw; tk_start(); } sub tk_start { my @liste = qw(X Y Z); $Var{Array_ref_1} = \@liste; $Ptk{Start_f} = $Ptk{Main_window}->Frame()->pack(-fill => 'x'); $Ptk{Start_lb} = $Ptk{Start_f}->Scrolled('Listbox', -scrollbars => 'oe', -height => 6, -selectmode => 'extended', )->pack(); $Ptk{Start_b} = $Ptk{Start_f}->Button()->pack(); $Ptk{Start_lb}->insert('end',@liste); $Ptk{Start_b}->configure(-text => 'Weiter', -command => \&weiter, ); } sub weiter { my @index = $Ptk{Start_lb}->curselection(); $Ptk{Start_f}->destroy(); my @auswahl; foreach (@index) { push(@auswahl,$Var{Array_ref_1}->[$_]); } $Var{Array_ref_2} = \@auswahl; nach_weiter(); } sub nach_weiter { foreach ( @{$Var{Array_ref_2}}) { print "$_\n"; } tk_start(); }