Tk::Eventloop man page on HP-UX

Man page or keyword search:  
man Server   10987 pages
apropos Keyword Search (all sections)
Output format
HP-UX logo
[printable version]

Eventloop(3)	      User Contributed Perl Documentation	  Eventloop(3)

NAME
       Tk::Event - ToolKit for Events

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])

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 { sys‐
       read(*$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.

perl v5.8.8			  2004-02-28			  Eventloop(3)
[top]

List of man pages available for HP-UX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net