[ 1r0nM4n @ 20.08.2006. 19:47 ] @
Pokušavam da napravim IRC bot u perlu, ali imam jedan problem.

Hoću da napravim da bot proverava šta je napisano na nekom kanalu, i ako je napisana neka određena reč, da bot izvrši nešto...
Ovako izgleda text koji server šalje korisniku (botu):
Code:
:[email protected] PRIVMSG #neki_kanal:neki text

Našao sam na netu sledeći kôd:
Code:
$answer =~ m/^\:(.*?)\!(.*?)\@(.*?) PRIVMSG (.*?) :(.*?)$/;
        $xnick = $1;
        $xident = $2;
        $xhost = $3;
        $xchannel = $4;
        $xtext = $5;

I u onom primeru gore, to bi izgledalo ovako:
Code:
$xnick = "nickname";
$xident = "ident";
$xhost = "hostname.com";
$xchannel = "#neki_kanal";
$xtext = "neki text";

Sada hoću da napišem da bot proverava neku od ovih vrednosti (na primer, $xtext):
Code:
if($xtext eq "test") {
            print $con "privmsg $xchannel :true\n";
        } else {
            print $con "privmsg $xchannel :false\n";
        }
Ovaj kôd mi uvek vraća false, iako se napiše na IRC-u test.
Kada uradim:
Code:
print "$xtext";
Normalno se ispisuje test, znači da nije dobar if..
Takođe sam probao:
Code:
if($xtext =~ m/^test$/)
I ovo ne radi lepo.

Gde grešim, i da li ovo uopšte može da se izvede ovako?
Ako sam malo nejasno napisao sve ovo, slobodno pitajte da pojasnim ;)

p0z

p.s. @moderatori, slobodno promenite topic ako nađete nešto prikladnije...