Страница 2 из 2

Добавлено: Вт июн 19, 2007 2:55 pm
4epT
не там немного другое. вот кусок:
if ($kw =~ /^".*"$/) {$match = 0}
elsif ($kw =~ /^\/.*\/\w?$/) {$match = 1}
else {return 0}
($kw, $flag) = $kw =~ /^[\/"](.*?)[\/"](\w?)/;

if ($match == 0 && $text eq $kw) {return 1}
if ($match == 1 && ($text =~ /$kw/ || ($flag eq 'i' && $text =~ /$kw/i))) {
no strict;
foreach my $idx (1..$#-) {setVar(".lastMatch".$idx, ${$idx})}
типо если условие в автомакросе написано в "" (if ($kw =~ /^".*"$/) {$match = 0}), то провеняем полное соответствие текста (консоли или чата) с нашим условием (if ($match == 0 && $text eq $kw) {return 1})

а вот если условие написано в // (elsif ($kw =~ /^\/.*?\/\w?$/) {$match = 1}), то пробуем подогнать текст (консоли или чата) под шаблон
в строка_регекспа не должно быть символа /
как это не должно быть? а если это необходимо?

кстати если символ заэкринировать, то кора не видет этого и жалуестся на строчку:
if ($match == 1 && ($text =~ /$kw/ || ($flag eq 'i' && $text =~ /$kw/i))) {

Добавлено: Вт июн 19, 2007 3:32 pm
Jerry
4epT писал(а):а вот если условие написано в // (elsif ($kw =~ /^\/.*\/\w?$/) {$match = 1}), то пробуем подогнать текст (консоли или чата) под шаблон
ну прально, там же везде вот так типа пишется
$text =~ /$kw/
$kw у тебя подставляется из твоей строки и получается
$text =~ /ляля/ляля/
как это не должно быть? а если это необходимо?
попробуй два раза экранировать. Или пиши через \0x, утомил уже :)

Добавлено: Вт июн 19, 2007 4:05 pm
4epT
в цитате там после * вопросик потерялся (у себя сообщение я уже отредактировал)

дык если вопросик удалить, то $text =~ /ляля/ляля/ он прекрасно понимает

Я тебя спрашиваю не как это сделать (это я знаю, аж 2 решения есть)

А то как лучше.

ППЦ уже "10" посто в те 1 ты мне другое..

Кароче понятно.. забиваем на этот вопросик, пусть живёт, просто пишем в 16-ричке... %)