imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 31.07.2004, 02:08     # 1
Mr.Vector!
Banned
 
Аватар для Mr.Vector!
 
Регистрация: 08.05.2004
Сообщения: 31

Mr.Vector! Путь к славе только начался
Cool Ошибки с условием в перл.

Например у меня есть $codeuser = "31323334353637383919252B";
Я циклом делю все по парам т.е.
31
32
33
34
35
36
37
38
39
19
Потом проверяю присутствие неразрешенной пары (в данном случае - 19,25,2B).
И почему-то постоянно скрипт глючит. Помогите плиз... может я как-то неправильно условие задаю?

Са скрипт:
for ($i=0;$i<length($codeuser);$i+=2)
{
$_=substr($codeuser,$i,2);
if (($_ < 20) || ($_ eq '2B') || ($_ eq '2C') || ($_ eq '2F') || ($_ eq '3A') || ($_ eq '3B') || ($_ eq '3C') || ($_ eq '3D') || ($_ eq '3E') || ($_ eq '5B') || ($_ eq '5C') || ($_ eq '5E') || ($_ eq '3A') || ($_ eq '7B') || ($_ eq '7C') || ($_ eq '7F') || ($_ eq '22') || ($_ eq '23') || ($_ eq '24') || ($_ eq '25') || ($_ eq '26') || ($_ eq '27'))
{
print "error";
$_='';
exit;
}
}
$codeuser='';
#Вот плин... Какая-то ошибка в скрипте.
Mr.Vector! вне форума  
Старый 31.07.2004, 03:48     # 2
Sheryld
Full Member
 
Регистрация: 29.05.2002
Сообщения: 544

Sheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царстве
этот код мог бы украсить даже этот сайт: http://thedailywtf.com
__________________
убрано по просьбе администратора
Sheryld вне форума  
Старый 31.07.2004, 23:07     # 3
Mr.Vector!
Banned
 
Аватар для Mr.Vector!
 
Регистрация: 08.05.2004
Сообщения: 31

Mr.Vector! Путь к славе только начался
Цитата:
Sheryld:
этот код мог бы украсить даже этот сайт: http://thedailywtf.com
и зачем мне эта ссылка? за тем же наверное что и этот сайт...
Мне не нужно 'левых' ссылок - мне помошь нужна!
Mr.Vector! вне форума  
Старый 01.08.2004, 13:04     # 4
rontommy
Добряк Модератор
ГлавБюстАтценка АН ИМХО.ВС
 
Аватар для rontommy
 
Регистрация: 14.10.2002
Адрес: Старый оценщик, НИИ ГлавБюстАтценка АН ИМХО.ВС
Пол: Male
Сообщения: 4 010

rontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербог
rontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербог
Mr.Vector!
Советую почитать раздел про регулярные выражения на PERL.
А вот и решение твоей задачки
Код:
$codeuser = '3132333435363738391925';
 
@A = ($codeuser =~ /(\w\w)/g);
 
#print " $_" for @A; # just for testing
#print "\n"; # just for testing

@B = grep(/19|25|2B/,@A);
if (@B) {
  print "Error\nYou are using one or more of illegal symbols:";
  print " $_" for @B;
  print "\n";
}
__________________
Лень - это когда видишь необходимость что-то делать, но не хочется, а влом - это когда что-то хочется, но не видишь необходимости это делать.
rontommy вне форума  
Старый 01.08.2004, 16:12     # 5
EvroStandart
Full Member
 
Аватар для EvroStandart
 
Регистрация: 20.01.2004
Адрес: Таллинн
Пол: Male
Сообщения: 623

EvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собой
А если ему нужен универсальный код для любой строки?

Может примерно так:

$_a=substr($codeuser,$i,2);
$_b=substr($codeuser,$i+2,2);
if (($_a+1 != $_b) )
{
print "error";
exit;
}

только тут нужно ещё из строки номер зделать. Не помню эту команду.

Последний раз редактировалось SamJa; 01.08.2004 в 16:14.
EvroStandart вне форума  
Старый 03.08.2004, 20:09     # 6
Mr.Vector!
Banned
 
Аватар для Mr.Vector!
 
Регистрация: 08.05.2004
Сообщения: 31

Mr.Vector! Путь к славе только начался
Всем огромное СпасибО!
Mr.Vector! вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 18:55.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.