#!/usr/bin/perl
use Tk;
use Tie::File;
use Tk::after;
my $liste;
my $liste_font;
my $breite=100; ### Anzahl der abgezeigten Zeichen in der Liste
my $the_selectmode = "extended"; ### "single","multiple","extended"
my $enter;
my @array_file;
my $mw = MainWindow->new();
### rahmen fuer Hauptseite
my $frame1 = $mw->Frame(-width=>50, -height=>50, -bg=>"seashell");
my $frame2 = $mw->Frame(-width=>5, -height=>5, -bg=>"grey80");
$liste_font = $mw->fontCreate(-family=>"courier", -size=>7 ); ### zB treffer-Liste
my $liste = $frame1->ScrlListbox(
##-font=>$liste_font,
-setgrid=>1,
-scrollbars=>"se",
#-background=>"wheat3",
-background=>"lemonchiffon3",
-borderwidth=>3,
-highlightthickness=>10,
##-selectmode => "extended", ###"multiple"
##-selectmode => "multiple",
##-selectmode => "single",
## -selectmode =>$the_selectmode,
-height => 30,
## -width => $breite,
-selectforeground=>"blue",
-selectbackground=>"green",
##-setgrid=>1,
##-selectborderwidth=>1,
-relief=>"ridge",
-exportselection => 1)->pack(-side=>"right", -expand=>1, -fill=>"both");
my $exitButton = $frame2->Button ( -text=>"Schliessen" ,-command=>"exit" ,-bg=>"red" ,-activebackground=>"red" ,-activeforeground=>"cyan" )->pack(-anchor=>"w" ,-padx=>10 ,-pady=>15 ,-ipady=>10 ,-fill=>"x");
##################################################################
### Packen der Rahmen auf Hauptseite ############################
##################################################################
$frame1->pack(-side => 'left' ,-expand=>1 ,-fill=>"both");
$frame2->pack(-side => 'right',-expand=>1 );
$frame2->pack(-expand=>1 ,-fill=>"both");
##############################################
### sofort ausgefuehrte Subroutines
##############################################
=pod
while(1) {
#&fill_from_file();
sleep(2);
};
=cut
#&fill_from_file();
&fill_with_tie();
##############################################
### Ende sofort ausgefuehrte Subroutines
##############################################
MainLoop;
######################################################
sub fill_from_file {
my $file = "meinfile.txt";
my $line;
$liste->delete(0,"end");
if ( -s $file ) {
open(DATEI, "<$file") or die $!;
while ($line = <DATEI>) {
chomp $line;
$liste->insert(0,$line);
}
close(DATEI);
} ## if -s $file
} ## fill_from_file #################
############################################################
######################################################
sub fill_with_tie {
my $file = "meinfile.txt";
my $line;
my $elem;
$liste->delete(0,"end");
if ( -e $file ) {
tie @array_file, "Tie::File", $file || die $!;
foreach $elem (@array_file) {
chomp $elem;
$liste->insert(0,$elem);
} ## foreach
untie @array_file;
} else {
print "Kann $file nicht oeffnen $!\n";
} ## if -s $file
} ## fill_with_tie #################
############################################################