Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

tk::eventloop(3) [suse man page]

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 { 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. perl v5.12.1 2007-05-05 Eventloop(3)

Check Out this Related Man Page

Log::Report::Dispatcher::Callback(3pm)			User Contributed Perl Documentation		    Log::Report::Dispatcher::Callback(3pm)

NAME
Log::Report::Dispatcher::Callback - call a code-ref for each log-line INHERITANCE
Log::Report::Dispatcher::Callback is a Log::Report::Dispatcher SYNOPSIS
sub cb($$$) { my ($options, $reason, $message) = @_; ... } dispatcher Log::Report::Dispatcher::Callback => 'cb' , callback => &cb; dispatcher CALLBACK => 'cb' # same , callback => &cb; DESCRIPTION
This basic file logger accepts a callback, which is called for each message which is to be logged. When you need complex things, you may best make your own extension to Log::Report::Dispatcher, but for simple things this will do. METHODS
Constructors $obj->close See "Constructors" in Log::Report::Dispatcher Log::Report::Dispatcher::Callback->new(TYPE, NAME, OPTIONS) -Option --Defined in --Default accept Log::Report::Dispatcher depend on mode callback <required> charset Log::Report::Dispatcher <undef> format_reason Log::Report::Dispatcher 'LOWERCASE' locale Log::Report::Dispatcher <system locale> mode Log::Report::Dispatcher 'NORMAL' accept => REASONS callback => CODE Your "callback" is called with four parameters: this dispatcher object, the options, a reason and a message. The "options" are the first parameter of Log::Report::report() (read over there). The "reason" is a capitized string like "ERROR". Finally, the "message" is a Log::Report::Message. charset => CHARSET format_reason => 'UPPERCASE'|'LOWERCASE'|'UCFIRST'|'IGNORE'|CODE locale => LOCALE mode => 'NORMAL'|'VERBOSE'|'ASSERT'|'DEBUG'|0..3 Accessors $obj->callback Returns the code reference which will handle each logged message. $obj->isDisabled See "Accessors" in Log::Report::Dispatcher $obj->mode See "Accessors" in Log::Report::Dispatcher $obj->name See "Accessors" in Log::Report::Dispatcher $obj->needs See "Accessors" in Log::Report::Dispatcher $obj->type See "Accessors" in Log::Report::Dispatcher Logging $obj->collectLocation Log::Report::Dispatcher::Callback->collectLocation See "Logging" in Log::Report::Dispatcher $obj->collectStack([MAXDEPTH]) Log::Report::Dispatcher::Callback->collectStack([MAXDEPTH]) See "Logging" in Log::Report::Dispatcher $obj->log(HASH-of-OPTIONS, REASON, MESSAGE) See "Logging" in Log::Report::Dispatcher $obj->stackTraceLine(OPTIONS) Log::Report::Dispatcher::Callback->stackTraceLine(OPTIONS) See "Logging" in Log::Report::Dispatcher $obj->translate(HASH-of-OPTIONS, REASON, MESSAGE) See "Logging" in Log::Report::Dispatcher SEE ALSO
This module is part of Log-Report distribution version 0.94, built on August 23, 2011. Website: http://perl.overmeer.net/log-report/ LICENSE
Copyrights 2007-2011 by Mark Overmeer. For other contributors see ChangeLog. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html perl v5.14.2 2011-08-23 Log::Report::Dispatcher::Callback(3pm)
Man Page