POE::Component::IRC::Plugin::FollowTail man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

POE::Component::IRC::PUsernContributPOE::Component::IRC::Plugin::FollowTail(3)

NAME
       POE::Component::IRC::Plugin::FollowTail - A PoCo-IRC plugin to follow
       the tail of an ever-growing file

SYNOPSIS
	use POE qw(Component::IRC Component::IRC::Plugin::FollowTail);

	my $nickname = 'Flibble' . $$;
	my $ircname = 'Flibble the Sailor Bot';
	my $ircserver = 'irc.blahblahblah.irc';
	my $filename = '/some/such/file/here';
	my @channels = ( '#Blah', '#Foo', '#Bar' );

	my $irc = POE::Component::IRC->spawn(
	    nick => $nickname,
	    server => $ircserver,
	    port => $port,
	    ircname => $ircname,
	) or die "Oh noooo! $!";

	POE::Session->create(
	    package_states => [
		main => [ qw(_start irc_001 irc_tail_input irc_tail_error irc_tail_reset) ],
	    ],
	);

	 $poe_kernel->run();

	sub _start {
	    $irc->plugin_add( 'FollowTail' => POE::Component::IRC::Plugin::FollowTail->new(
		filename => $filename,
	    ));
	    $irc->yield( register => 'all' );
	    $irc->yield( connect => { } );
	    return;
	}

	sub irc_001 {
	    $irc->yield( join => $_ ) for @channels;
	    return;
	}

	sub irc_tail_input {
	    my ($kernel, $sender, $filename, $input) = @_[KERNEL, SENDER, ARG0, ARG1];
	    $kernel->post( $sender, 'privmsg', $_, "$filename: $input" ) for @channels;
	    return;
	}

	sub irc_tail_error {
	    my ($kernel, $sender, $filename, $errnum, $errstring)
		= @_[KERNEL, SENDER, ARG0 .. ARG2];
	    $kernel->post( $sender, 'privmsg', $_, "$filename: ERROR: $errnum $errstring" ) for @channels;
	    $irc->plugin_del( 'FollowTail' );
	    return;
	}

	sub irc_tail_reset {
	    my ($kernel, $sender, $filename) = @_[KERNEL, SENDER, ARG0];
	    $kernel->post( $sender, 'privmsg', $_, "$filename: RESET EVENT" ) for @channels;
	    return;
	}

DESCRIPTION
       POE::Component::IRC::Plugin::FollowTail is a POE::Component::IRC plugin
       that uses POE::Wheel::FollowTail to follow the end of an ever-growing
       file. It generates "irc_tail_" prefixed events for each new record that
       is appended to its file.

METHODS
   "new"
       Takes two arguments:

       'filename', the name of the file to tail, mandatory;

       'filter', a POE::Filter object to pass to POE::Wheel::FollowTail,
       optional;

       Returns a plugin object suitable for feeding to POE::Component::IRC's
       "plugin_add" method.

OUTPUT
       The plugin generates the following additional POE::Component::IRC
       events:

   "irc_tail_input"
       Emitted for every complete record read. "ARG0" will be the filename,
       "ARG1" the record which was read.

   "irc_tail_error"
       Emitted whenever an error occurs. "ARG0" will be the filename, "ARG1"
       and "ARG2" hold numeric and string values for $!, respectively.

   "irc_tail_reset"
       Emitted every time a file is reset. "ARG0" will be the filename.

AUTHOR
       Chris 'BinGOs' Williams

SEE ALSO
       POE::Component::IRC

       POE::Wheel::FollowTail

perl v5.14.1			  20POE::Component::IRC::Plugin::FollowTail(3)
[top]

List of man pages available for Fedora

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