#in main Tk thread my $fileno = $shash{'fileno'}; #from a shared variable set in thread print "fileno_m $fileno\n"; open (FH, "<&=$fileno") or warn "$!\n"; # filevent works but may not work on win32 $mw->fileevent(\*FH, 'readable', [\&fill_text_widget,$text]); #in thread code block my $pid = open(FH, "top -b |" ) or warn "$!\n"; my $fileno = fileno(FH); $shash{'fileno'} = $fileno;