All pastes #629345 Raw Edit

Untitled

public text v1 · immutable
·published 2007-07-22 04:51 UTC
rendered paste body
#!/usr/bin/perl
use strict;
use warnings;
use IO::Socket;
use Switch;
use Cwd;
use XML::RSS::Feed;
use LWP::Simple qw(get);
use threads;
my $cwd = getcwd;
my $tmpdir = $cwd . "/tmp";
my $peeraddr = "irc.freenode.net";
my $peerport = 6667;
my $nick = "Paw2";
my $user = "caca";
my $realname = "rocks";
my $chan = "#zork";
my $socket = new IO::Socket::INET(PeerAddr => $peeraddr,
                                  PeerPort => $peerport,
                                  Proto => 'tcp') or die "Couldn't connect!\n"; 
print $socket "NICK $nick\r\n"; 
print $socket "USER $user 65.34.212.49 $peeraddr $realname\r\n"; 
while (my $input = <$socket>) {
my @word = $input;
my $elements = scalar(@word);
my $server = $socket->peerhost;
print "$input\n";
 if ( $input =~ /^PING/ ) {              
 print $socket ("PONG :$peeraddr\r\n");
 }
 
if ((index $input, " 376 ") ne -1) { print "Conectado  a $server - entrando a canales..\n"; print  $socket "JOIN #ZOrK\n"; my $thread = threads->create(\&activate_feeds, $chan, $socket);  $thread->detach(); }  
undef @word;
}

sub activate_feeds {
my $socket = $_[1];
my $chan = $_[0];
my $feed = XML::RSS::Feed->new(
                           url    => "http://mitworld.mit.edu/rss/new.xml" ,
                           name   => $nick . "rsstemp",
                           delay  => 10,
                           tmpdir => $tmpdir,
                           debug  => 0,
                           );
                           $feed->pre_process;
                           $feed->max_headlines( 2 );
                           $feed->parse(get($feed->url));
 
  print "$_->headline\n" for $feed->late_breaking_news;
  print $socket "PRIVMSG :$chan $_->headline\n" for $feed->late_breaking_news;
  print $socket "PRIVMSG :$chan hola!\r\n";  

}