Provided by: libpoe-filter-ircd-perl_2.44-1_all bug

NAME

       POE::Filter::IRCD - A POE-based parser for the IRC protocol

VERSION

       version 2.44

SYNOPSIS

           use POE::Filter::IRCD;

           my $filter = POE::Filter::IRCD->new( debug => 1, colonify => 0 );
           my $arrayref = $filter->get( [ $hashref ] );
           my $arrayref2 = $filter->put( $arrayref );

           use POE qw(Filter::Stackable Filter::Line Filter::IRCD);

           my ($filter) = POE::Filter::Stackable->new();
           $filter->push( POE::Filter::Line->new( InputRegexp => '\015?\012', OutputLiteral => "\015\012" ),
                          POE::Filter::IRCD->new(), );

DESCRIPTION

       POE::Filter::IRCD provides a convenient way of parsing and creating IRC protocol lines. It
       provides the parsing engine for POE::Component::Server::IRC and POE::Component::IRC.  A
       standalone version exists as Parse::IRC.

CONSTRUCTOR

       "new"
           Creates a new POE::Filter::IRCD object. Takes two optional arguments:

             'debug', which will print all lines received to STDERR;
             'colonify', set to 1 to force the filter to always colonify the last param passed in a put(),
                         default is 0. See below for more detail.

METHODS

       "get_one_start"
       "get_one"
       "get_pending"
       "get"
           Takes an arrayref which is contains lines of IRC formatted input. Returns an arrayref
           of hashrefs which represents the lines. The hashref contains the following fields:

             prefix
             command
             params ( this is an arrayref )
             raw_line

           For example, if the filter receives the following line, the following hashref is
           produced:

             LINE: ':moo.server.net 001 lamebot :Welcome to the IRC network lamebot'

             HASHREF: {
                           prefix   => ':moo.server.net',
                           command  => '001',
                           params   => [ 'lamebot', 'Welcome to the IRC network lamebot' ],
                           raw_line => ':moo.server.net 001 lamebot :Welcome to the IRC network lamebot',
                      }

       "put"
           Takes an arrayref containing hashrefs of IRC data and returns an arrayref containing
           IRC formatted lines.  Optionally, one can specify 'colonify' to override the global
           colonification option.  eg.

             $hashref = {
                           command => 'PRIVMSG',
                           prefix => 'FooBar!foobar@foobar.com',
                           params => [ '#foobar', 'boo!' ],
                           colonify => 1, # Override the global colonify option for this record only.
                         };

             $filter->put( [ $hashref ] );

       "clone"
           Makes a copy of the filter, and clears the copy's buffer.

       "debug"
           With a true or false argument, enables or disables debug output respectively. Without
           an argument the behaviour is to toggle the debug status.

SEE ALSO

       POE

       POE::Filter

       POE::Filter::Stackable

       POE::Component::Server::IRC

       POE::Component::IRC

       Parse::IRC

AUTHOR

       Chris Williams <chris@bingosnet.co.uk>

COPYRIGHT AND LICENSE

       This software is copyright (c) 2013 by Chris Williams and Jonathan Steinert.

       This is free software; you can redistribute it and/or modify it under the same terms as
       the Perl 5 programming language system itself.