use IO::Pipe; use Tk; $pipe = new IO::Pipe; create_tk_window(); if($pid = fork()) { # Parent $pipe->reader(); $mw->MainLoop; }elsif(defined $pid) { # Child $pipe->writer(); while(1) { write_to_pipe(); } } sub write_to_pipe { $pipe->write("Who's a jebroni - Not me Not me"); } sub display_handle_data { my $pipe_data; $pipe->sysread($pipe_data,100024); $server_list_listbox->insert('end',"GOT $pipe_data"); $server_list_listbox->see('end'); } sub create_tk_window { $mw=MainWindow->new ( -background=>'#dedede', -foreground=>'yellow', -title=>"FingerLick - Only eye nows the gows wehn the wind blows" ); $mw->geometry("802x618"); $mw->minsize(802,618); $mw->maxsize(802,618); $mw->repeat(1.001,sub { display_handle_data() }); $sent_recvd_listbox=$mw->Listbox ( -height=>1, -width=>60, -background=>'black', -foreground=>'yellow' )->pack(-side=>'bottom',-anchor=>'s',-pady=>2); $server_list_listbox=$mw->Scrolled ( "Listbox", -height=>20, -width=>60, -background=>'white', -foreground=>'black', -scrollbars=>'se', )->pack(); }