Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > скаляр не интерполируется


Автор: everyone 13.8.2004, 16:13
Код

$q="A";
$w="a";

if("$q" eq /$w/i)
{
print "$q соответствует $w";
}
else{ print "твой скаляр не интерполируется";}


как заставить скаляр $w интерполироваться? Я пытался подставить после регулярного выражения параметр e (/$w/ie), но компилятор выдаёт ошибку. С ума скоро сойду, такая глупость и заставила меня перерыть столько бумаги, но ничего не помогло.

Автор: HISH 13.8.2004, 19:31
Код

if ($a =~ /^$w$/i){
  print "succeed\n";  
} else{
  print "failed\n";
};

Автор: Secandr 14.8.2004, 08:10
everyone
В $q нужно закоментировать все спец символы, и ещё с русским могут быть траблы.

Автор: korob2001 14.8.2004, 13:06
HISH дал ответ на твой вопрос.
Проблема здесь:
if ("$q" eq /$w/i )
нужно заменить eq на =~.
Если в строках возможны русские буквы используй use locale.

Удачи.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)