diff options
Diffstat (limited to 'Master/tlpkg/tlperl/lib/Tk/Eventloop.pod')
-rwxr-xr-x | Master/tlpkg/tlperl/lib/Tk/Eventloop.pod | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/Master/tlpkg/tlperl/lib/Tk/Eventloop.pod b/Master/tlpkg/tlperl/lib/Tk/Eventloop.pod deleted file mode 100755 index a4c99e7988e..00000000000 --- a/Master/tlpkg/tlperl/lib/Tk/Eventloop.pod +++ /dev/null @@ -1,62 +0,0 @@ - -=head1 NAME - -Tk::Event - ToolKit for Events - -=for category Implementation - -=head1 SYNOPSIS - - use Tk::Event; - - Tk::Event->fileevent(\*FH, 'readable' => callback); - - Tk::Event->lineavail(\*FH, callback); - - use Tk::Event::Signal qw(INT); - - $SIG{'INT'} = callback; - - use Tk::Event::process; - - Tk::Event->proc($pid, callback); - - QueueEvent(callback [, position]) - - -=head1 DESCRIPTION - - -That is better than nothing but still hard to use. Most scripts want higher -level result (a line, a "block" of data etc.) - -So it has occured to me that we could use new-ish TIEHANDLE thus: - - my $obj = tie SOMEHANDLE,Tk::Event::IO; - - while (<SOMEHANDLE>) - { - } - -Then the READLINE routine registers a callback and looks something like: - - sub READLINE - { - my $obj = shift; - Event->io(*$obj,'readable',sub { sysread(*$obj,${*$obj},1,length(${*$obj}) }); - my $pos; - while (($pos = index(${*$obj},$/) < 0) - { - DoOneEvent(); - } - Event->io(*$obj,'readable',''); # unregister - $pos += length($/); - my $result = substr(${*$obj},0,$pos); - substr(${*$obj},0,$pos) = ''; - return $result; - } - -This is using the scalar part of the glob representing the _inner_ IO -as a buffer in which to accumulate chars. - -=cut |