LINUX.ORG.RU

[Perl] простейший код

 


0

1

Не могу найти ошибку в простейшем коде:


sub EVT_received{
my ($headers, $body, $msgID)=@_;
    if($body=="ip")
    {
        system("sh /srv/sms/scr/ip.sh");
        $stat= "INSERT INTO `lol_db`.`sms` (`number`, `text`) VALUES ('lol', 'show ip');";
        $rv = $mysql->do($stat);
#       system("rm $f");
    }

    if($body=="hello")
    {
        system("echo \"hello\" >> \/var\/spool\/sms\/failed\/lol.txt");
#       system("rm $f");
    }
}

почему то независимо от знеачения $body выполняется все...

★★★
Ответ на: комментарий от arsi

Это вместо open же. open - трудная штука, ну её в болото от греха. Ж)

Hoodoo ★★★★★
()

Кстати со strict бы вы нашли ошибку очень быстро. С номером строки и объяснением, где косяк. Оно бы не запустилось, пока ошибка не была бы исправлена.

use warnings; 
use strict;

должны быть всегда.

Hoodoo ★★★★★
()
Ответ на: комментарий от arsi

спасибо. прост не пишу на перле. Вопрос решен.

disee ★★★
() автор топика
Ответ на: комментарий от arsi

ну экранировал символ «/». nano почему то сочетание «/failed/» подсветило как что то особое) решил подстраховаться

disee ★★★
() автор топика
Ответ на: комментарий от redgremlin

я перл не знаю... Чисто по аналогии и по наитию писал... Вообще сам исходник это sms event heandler для smstools. Я его подпиливал под свои задачи

disee ★★★
() автор топика
Ответ на: комментарий от disee

О_о Я отвечал Bat_ptr, вообще-то, по поводу варианта установки utf8 в STD*

redgremlin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.