App-Pocosi
view release on metacpan or search on metacpan
lib/App/Pocosi.pm view on Meta::CPAN
use App::Pocosi::Status;
use Class::Load qw(try_load_class);
use Fcntl qw(O_CREAT O_EXCL O_WRONLY);
use File::Glob ':glob';
use File::Spec::Functions 'rel2abs';
use IO::Handle;
use IRC::Utils qw(decode_irc);
use Net::Netmask;
use POE;
use POSIX 'strftime';
use Scalar::Util 'looks_like_number';
sub new {
my ($package, %args) = @_;
return bless \%args, $package;
}
sub run {
my ($self) = @_;
# we print IRC output, which will be UTF-8
lib/App/Pocosi.pm view on Meta::CPAN
for my $key (keys %$arg) {
push @pairs, [$key, _dump($arg->{$key})];
}
return '{'. join(', ', map { "$_->[0] => $_->[1]" } @pairs) .'}';
}
elsif (ref $arg) {
require overload;
return overload::StrVal($arg);
}
elsif (defined $arg) {
return $arg if looks_like_number($arg);
return "'".decode_irc($arg)."'";
}
else {
return 'undef';
}
}
sub _event_debug {
my ($self, $args, $event) = @_;
lib/App/Pocosi/Status.pm view on Meta::CPAN
}
BEGIN {
$App::Pocosi::Status::VERSION = '0.03';
}
use strict;
use warnings FATAL => 'all';
use Carp;
use IRC::Utils qw(decode_irc strip_color strip_formatting numeric_to_name);
use POE::Component::Server::IRC::Plugin qw(PCSI_EAT_NONE);
use Scalar::Util qw(looks_like_number);
sub new {
my ($package) = shift;
croak "$package requires an even number of arguments" if @_ & 1;
return bless { @_ }, $package;
}
sub PCSI_register {
my ($self, $ircd, %args) = @_;
$ircd->raw_events(1);
lib/App/Pocosi/Status.pm view on Meta::CPAN
for my $key (keys %$arg) {
push @pairs, [$key, _dump($arg->{$key})];
}
return '{'. join(', ', map { "$_->[0] => $_->[1]" } @pairs) .'}';
}
elsif (ref $arg) {
require overload;
return overload::StrVal($arg);
}
elsif (defined $arg) {
return $arg if looks_like_number($arg);
return "'".decode_irc($arg)."'";
}
else {
return 'undef';
}
}
sub _event_debug {
my ($self, $ircd, $args, $event) = @_;
( run in 0.815 second using v1.01-cache-2.11-cpan-64827b87656 )