|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Sep 2006
Messaggi: 6
|
[PERL]Aiuto programma in perl
Ciao a tutti, sto facendo un Bot IRC in perl ,questo bot fa in modo da poter registrare delle richieste degli user , le elenca ,e le dovrebbe eliminare, solo che il mio problema sta nella parte dell'eliminazione della richiesta ora copio il code....
Codice:
#Bot Richieste
if ($line =~ /\!richiedo\s+(.*?)\s+(.*)\s+(\d+)\s+(.*)/){
my $nickadd = $1;
my $richiestadd = $2;
my $annoadd = $3;
my $datadd = $4;
sleep(1);
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) {
exit;
}
else {
open(SUKA, '>>', "richieste.db");
print SUKA "$nickadd§$richiestadd§$annoadd§$datadd\r\n";
close (SUKA);
print $sk "PRIVMSG $canale2 :7.::9(8Richieste9)7::.7.::10 $nickadd ha richiesto 7.::9(6 $richiestadd dell'anno $annoadd 9)7::. richiesto il9 $datadd\r\n";
print $sk "PRIVMSG $canale2 :7.::9(8Grazie4 $nickadd 9)7::.10,NoN Appena La richiesta sara soddisfatta, Verra Inserita Nelle Richieste Soddisfatte\r\n";
exit;
}
}
}
if ($line=~/\!elenco/) {
sleep(1);
if (my $pid = fork) {
waitpid($pid, 0);
}
else {
if (fork) {
exit;
}
else {
open(SUKA , "richieste.db");
while ($_ = <SUKA>) {
my $cont = 0;
my @info=split(/\§/,$_);
my $nick2= @info[0];
my $richiesta22= @info[1];
my $anno22= @info[2];
my $data22= @info[3];
print $sk "PRIVMSG $canale3 :-----------------------------------------------------------------------------------------\r\n";
print $sk "PRIVMSG $canale3 :8.7::4( Nick 4)7::8. $nick2\r\n";
print $sk "PRIVMSG $canale3 :8.7::4( Ha richiesto 4)7::8. $richiesta22\r\n";
print $sk "PRIVMSG $canale3 :8.7::4( data uscita della richiesta 4)7::8. $anno22\r\n";
print $sk "PRIVMSG $canale3 :8.7::4( Ha effettuato la richiesta Il 4)7::8. $data22\r\n";
print $sk "PRIVMSG $canale3 :8.7::4( Stato 4)7::8.4 richiesta ancora non soddisfatta da parte dello staff\r\n";
print $sk "PRIVMSG $canale3 :-----------------------------------------------------------------------------------------\r\n";
}
close (SUKA);
exit;
}
}
}
if ($line=~/\!cerca\s+(.*)/) {
my $ricerca = $1;
my $cont = 0;
print $sk "PRIVMSG $canale3 :8.7::4( Ricerca 4)7::8. $ricerca\r\n";
open(SUKA , "richieste.db");
while (<SUKA>) {
my @info=split(/\§/,$_);
if ($info[0]=~/$ricerca/i) {
if ($info[0] == @info[0]) {
$cont++;
print $sk "PRIVMSG $canale3 : .:( Trovato ):. $info[0]\r\n";
print $sk "PRIVMSG $canale3 :-------------------------------------\r\n";
print $sk "PRIVMSG $canale3 : .:( Richiesta ):. $info[1]\r\n";
print $sk "PRIVMSG $canale3 : .:( Anno ):. $info[2]\r\n";
print $sk "PRIVMSG $canale3 : .:( Data della richiesta ):. $info[3]\r\n";
print $sk "PRIVMSG $canale3 :-------------------------------------\r\n";
}
if ($cont == 0 ) {
print $sk "PRIVMSG $canale3 :8.7::4( Nessun Risultato 4)7::8.\r\n";
}
else {
print $sk "PRIVMSG $canale3 :8.7::4( Ricerca Terminata 4)7::8.\r\n";
}
close (SUKA);
}
}
}
if ($line=~/\!elimina\s+(.*)/){
my $ricerca = $1;
my $cont = 0;
open(SUKA , "richieste.db");
open SUKA2,">richieste.temp";
while ($_ = <SUKA>) {
chomp($_);
my @info=split(/\§/,$_);
if ($info[0]=~/$ricerca/i) {
$cont++;
}else {
print SUKA2 "$info[0]§$info[1]§$info[2]§$info[3]§$info[4]";
}
}
if ($cont == 0 ) {
print $sk "PRIVMSG $canale3 :8.7::4( Nessun Risultato 4)7::8.\r\n";
system("del richieste.temp");
}
else {
print $sk "PRIVMSG $canale3 :8.7::4( Eliminato 4)7::8. $ricerca\r\n";
system("copy richieste.temp richieste.db");
system("del richieste.temp");
}
close (SUKA);
close (SUKA2);
system("del richieste.temp");
}
}
all'interno di richieste.db vengono inserite le richieste in questo modo Codice:
mister§film§2008§23/12 m1k1fu0r1§stocazzo§1990§12/23 mister_bit§film2§2008§23/12 Codice:
m1k1fu0r1§stocazzo§1990§12/23 mister_bit§film2§2008§23/12 Come posso fare per risolvere? Ultima modifica di m1ster_b1t : 04-01-2009 alle 01:30. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:44.



















