Everything you say makes sense to me, and I've redone my test program to use select_read() - see below. It works great on unix, but I get no text showing up either on STDOUT or in the text window under activestate (after re-commenting the use POE statements appropriately). Any pointers here?
Thanks
-Craig
use English; use strict; use warnings; use Tk; use POE; #use POE(qw(Loop::TkActiveState)); # Create file descriptor from input file name... my $infile = shift || die "Missing input file"; open(IFILE, "<$infile") || die "Cannot open $infile: $!"; my $ifd = *IFILE{IO}; my $TXT; my $session = POE::Session->create( inline_states=>{ _start=>sub { $TXT = $poe_main_window->Scrolled('Text')->pack; $_[KERNEL]->select_read($ifd, '_GetInput'); }, _GetInput=>sub { if (my $line = <$ifd>) { print STDERR $line; $TXT->insert('end', "-$.- $line"); $poe_main_window->update; } else { $_[KERNEL]->select_read($ifd) }; }, }, ); # Create dummy postback so the session won't die once input is done... my $subref = $session->postback('DontDie'); # Go... $poe_kernel->run();
In reply to Re: POE/Tk/Fileevent Strangeness
by cmv
in thread POE/Tk/Fileevent Strangeness
by cmv
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |