script debug

Van egy scriptem, ami nagyon nem akar működni, azt kellene produkálnia, hogy ha publikon a "test" nevű user ha .hello-t ír, akkor automatán válaszol rá word-el, de nem akar menni, a script már működött, csak valamit elírtam bent és nem bírok rájönni hogy mi az. Valakinek valami ötlete?

# .hello-ra word-el valaszol "test" nickre
use strict;
use Irssi;
use Irssi::Irc;

sub cmd_hello {
my ($server, $data, $nick, $mask, $channel) =@_;
if (($data=~/.hello/) and $nick eq '&test') {
$server->command("msg $chan word");
}
}

Irssi::signal_add_last('message private', 'cmd_hello');
Irssi::print("messzidzs bekapcsolva");

Hozzászólások

"az user az &test..."
Azért kérdeznek vissza immár többedszer, mert két dologban is ellentmondásba keveredtél az általad előzőleg leírtakkal. A topiknyitó hozzászólás leírásában is, a kód kommentjében is, és egy általad írt megerősítésben is a "test" szerepel, de "&test" van a kódban, és most legutoljára ezt erősítetted meg az előző hárommal szemben. A jelenlegi állás 3:2 a "teszt" javára az "&test" ellenében. :)

Például:
    "a "test" nevű user ha .hello-t ír, akkor ..."
    "# .hello-ra word-el valaszol "test" nickre"
    "az ugy jo, igen a test a nick"
de:
    and $nick eq '&test'
    "az user az &test"

Valamint:
    "már megoldódott, köszi"
de:
    "a script azóta se nagyon akar menni"

"a script már működött, csak valamit elírtam bent"
Erre próbálnak rákérdezni, hogy véletlenül nem az az "&" jel került bele feleslegesen?

Továbbá a $chan változónak nincs érték adva, ugyanis két sorral feljebb még $channel volt. Ez is elég jelentős negatív hatással bírhat a végeredményre.

Ha valami nem működik, érdemes kiíratni a változók értékeit.

rakjuk össze a dolgokat... először ment a régi szerveremen futott egy irssi és azon valamit átírkáltam és ment, de sajna a szerver már nincs meg és backupot meg hülye voltam és nem csináltam. a rossz script bezzeg rajt volt a desktop gépen is. most akkor így néz ki:

# .hello-ra word-el valaszol "test" nickre
use strict;
use Irssi;
use Irssi::Irc;

sub cmd_hello {
my ($server, $data, $nick, $mask, $channel) =@_;
if (($data=~/^.hello/) and $nick eq 'DeXTeR') {
$server->command("msg $chan word");
}
}

Irssi::signal_add_last('message public', 'cmd_hello');
Irssi::print("messzidzs bekapcsolva");