codice:
#!/usr/bin/perl 

use IO::Socket;
use LWP::UserAgent;
use warnings;
use diagnostics;



my $unick = 'lp-italia_bot';
my $server = 'irc.freenode.net';
my $chan = '#lp-italia'; 
my $bot = 'lp-italia_bot'; 
my $nick;
my $address; 
my $target; 
my $msg;
    


$sock = new IO::Socket::INET (
                        PeerAddr => $server,
                        PeerPort => 6667,
                        Proto    => 'tcp'
                             ) or die "Impossibile connettersi a $server\n";



start();   
 
 

while($rcv = <$sock>) {
          
      open(IMG, ">>", <edo_bot.txt>);
      print IMG "$rcv\n";
      close(IMG);

	print $rcv;

     
     
    if ($rcv =~ /^PING(.*)$/i) {
      

     
       print $sock "PONG $1\r\n";
    
 }
     else {

        print "$rcv\n";
    }

 if ($rcv =~ /^:(.+?)!(.+?@.+?) PRIVMSG (.+?) :(.*)$/i) {
         my  $nick = $1; my $address = $2; my $target = $3; my $msg = $4;
            

     }
	
	if($rcv =~ /!quit libreplanet/) {
    
    exit();
}
     
 
             if( $msg eq 'Ciao' || 'Buongiorno') {
              
                  if ( $target eq $chan) {
                          
                        chan("Ciao $nick");
}

          if ($target eq 'lp-italia_bot') {
          
           priv("Ciao $nick");

}

 }
		



  
 

         
       if($msg =~ /((W|w)indows|(B|b)ill (G|g)ates)/ ) {

          if($target eq $chan) {
                chan("GNU/Linux Get Your Freedom: http://gnu.org" );
}   

         if($target eq 'lp-italia_bot') {

  priv("Prova gNewSense: http://gnewsense.org");
     }
}




  if($rcv =~  /!time/) {
   
     @months = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
     @weekDays = qw(Sun Mon Tue Wed Thu Fri Sat Sun);
     ($second, $minute, $hour, $dayOfMonth, $month, $yearOffset, $dayOfWeek, $dayOfYear, $daylightSavings) = localtime();
     $year = 1900 + $yearOffset;
     $theTime = "$hour:$minute:$second, $weekDays[$dayOfWeek] $months[$month] $dayOfMonth, $year";
     chan("$theTime"); 

}


}



sub start() {
	print $sock "NICK $unick\r\n";
	print $sock "USER $unick 8 * :$bot\r\n";
	print $sock "JOIN $chan\r\n";
         

}



sub exit() {
	print $sock "QUIT \r\n";
}

sub chan() {
	my $mes = shift;
	print $sock "PRIVMSG $chan :$mes\r\n";
}

sub priv() {
        my $mes = shift;
        print $sock "PRIVMSG $nick :$mes\r\n";
}
Da poco sto studiando il Perl e sto sviluppando con l'aiuto di altri bot e guide, questo Bot che spero di rilasciare sto GPLv3 tra qualche tempo..

Lanciando l'interprete ottengo questo errore... Qualche idea?
Use of uninitialized value in string eq at edo1.pl line 68, <GEN0> line 3 (#3)
Use of uninitialized value in string eq at edo1.pl line 70, <GEN0> line 3 (#3)
Use of uninitialized value in string eq at edo1.pl line 75, <GEN0> line 3 (#3)
Use of uninitialized value in pattern match (m//) at edo1.pl line 90, <GEN0>