· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ZEN —› Вопрос по Perl'у.

<< . 1 . 2 .

Посл.отвђт Сообщенiе


Дата: Июн 22, 2004 01:15:55 · Поправил: Asterix

> Хочешь, чтобы я тебе тестером работал? :)
Если да - то давай мне входной файл, посмотрю.


Возьми Winnt.h

> Да, как там моя просьба поживает, а?

Со скрипом ;-) Один раз получил листинг, но без заголовка с именем владельца кодов доступа к главному компьютеру Зеона ;-) вобще :-) Но кажется нашёл там оно ставит SEH и после него приходит ненужное значение, специально генерит исключение или действительно твой файл повреждён, вопрос.


Дата: Июн 22, 2004 03:26:01

Со скрипом ;-)

Поздравляю! Со временем из тебя выйдет толк :)


Дата: Июн 22, 2004 18:31:38

Посмотрел я сей шедевр. Задницу тебе драть нужно за такие скрипты, чучундра!

Вот:
		foreach('BYTE','CHAR','BOOLEAN')
        {
			s/^(\s*)$_\s+([a-zA-Z0-9_]+)\s*;(.*)/$1.$2  db  ?$3/g;
			s/^(\s*)$_\s+([a-zA-Z0-9_]+)\[([0-9]+)\]\s*;(.*)/$1.$2  rb  $3$4/g;
			s/^(\s*)$_\s+([a-zA-Z0-9_]+)\[([\sA-Z0-9_\+\-\*]+)\]\s*;(.*)/$1.$2  rb  $3$4/g;
        }


Тут у моего отладчика поехала крыша.
Как ты думашь, ЧТО НАХОДИТСЯ В $_, а???


Дата: Июн 22, 2004 18:47:07

Ну дык я и говорю что так нельзя, вместо $_ нужно ставить $i тогда всё нормально работает, но медленно, быстрее только без цикла, но тогда влом писать для каждого символа все эти три строчки.


Дата: Июн 22, 2004 18:58:55

Внутри скопа foreach, разумеется, $_ блока <IN> будет заменена на $_ блока foreach. Если ты хочешь это сохранить, просто выполни присвоение другой временной переменной перед блоком. Вот так:
$tmp = $_;
foreach(...)
{
 s/...$tmp//g;
 ...
}


Кстати, если s/// используется по $_, то можно вообще опустить упоминание $_ внутри s///.


Дата: Июн 22, 2004 19:55:28

volodya
Ты меня совсем запутал :-)
Все s///g; совершаются над неявной переменной $_ в которой строка, поэтому в цикле foreach эту неявную переменную использовать никак нельзя, потому что здесь в эту переменную попадали бы значения из списка и забивали бы строку к которой собственно мне нужно применять регулярку.


Дата: Июн 22, 2004 20:07:57

Совершенно верно. Поэтому делай как предложено выше - через $tmp.


Дата: Июн 22, 2004 20:32:25

Да не получится здесь через $tmp, только через другую переменную в foreach, изначально это у меня была $i


Дата: Июн 22, 2004 20:41:22

Ой, блин. Теперь уже и я с тобой запутался. :)
Короче, верни свою $i. А о $_ просто будь в курсе :)

<< . 1 . 2 .


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.042