Forum Webscript.Ru

Программирование => Perl => Тема начата: Mog. от 13 Мая 2002, 08:01:24

Название: Perl -w
Отправлено: Mog. от 13 Мая 2002, 08:01:24
Сижу это я, значит, отлаживаю потихоньку скрипт, дописал туда еще одну подпрограмму. Запускаю и
... все ! Перл повис. Я скрипт торможу , перлу (висящему) делаю енд таск . Закомментировал то,
что было минуту назад дописано, запускаю - эффект тот же. Начал комментировать все подряд. Результата
 (нужного) не получил. Запускаю скрипт под перл из командной строки с ключем -с , в ответ получаю,
что синтаксис, мол, в норме , но целая куча варнингов (в скрипте прописано perl -w), в основном ругня на дескрипторы открываемых файлов
 и на однократно упоминаемые в скрипте переменные. Лезу в логи апача. В error.log ничего интересного,
 преждевременная кончина скрипта (наверное результат нажатия кнопки стоп броузера). А в script.log
куча тех же варнингов (смотри выше), но недоконченная. Последняя строка "[Sun May 12 18:" и все.
 Я репу почесал и ключ -w из скрипта убрал нафиг. И, что характерно, стало все ништяк. Скрипт запускается
и работает как надо. Вот я и думаю, к чему бы это все. Откуда такой эхвект интересный у
ключа -w. Может кто знает. У меня все это безобразие работает под win95, апач 1.3.12 , перл 5.004_02.
Название: Perl -w
Отправлено: ESE от 13 Мая 2002, 16:02:14
-w
Вывод имен переменных, используемых только один раз, имен скаляров, используемых до их определения, имен переопределяемых подпрограмм, ссылок на неопределенные указатели файлов, попыток записи в файлы, открытых только на "чтение", употребление некорректных записей чисел, использование массивов как скаляров, рекурсия более 100 уровней.
Название: Perl -w
Отправлено: ESE от 13 Мая 2002, 16:10:35
Используй DzSoft Perl Editor и все будет ХОРОШО!

:beer:
Название: Perl -w
Отправлено: Mog. от 14 Мая 2002, 18:49:08
Я не говорил, что не знаю для чего ключ -w . Мне интересно почему с ним глючит все это дело, а без этого ключа все нормально.
А что, кстати, за зверь этот DzSoft Perl Editor ?
Название: Perl -w
Отправлено: ЖеньКа от 14 Мая 2002, 19:45:17
Mog. а тебе и объяснили :), что он докапывается до любых самых мелких вещиц, до которых в нормальных условиях скрипту и дела нет.
Насчёт
Цитировать
DzSoft Perl Editor
, имхо рульная весчь. Перл редактор. подсветка кода, встроенный тестировщик скриптов - при установленном Актив Перле. Имхо - рулька. Последняя из доступных версии по моему пятая.
Название: Perl -w
Отправлено: Green Kakadu от 14 Мая 2002, 20:06:05
Цитировать
Мне интересно почему с ним глючит все это дело, а без этого ключа все нормально.

;) это не с ним глючит - это код такой.
Название: Perl -w
Отправлено: Mog. от 15 Мая 2002, 07:50:59
Цитировать
это не с ним глючит - это код такой.


Дико извиняюсь, какой код? Скрипта, что ли? Да уж. Код там далек от совершенства.
Так ить работает он без ключа то вышеозвученного. Я так понимаю, что -w докапываться то докапывается до всего, но если я переменную обозначил раз и не использовал её то это мои проблемы. Предупреждение - оно и есть предупреждение (из разряда "если бы , да кабы...") и на работу влиять не должно, тем более с таким эффектом. А вот пожалуй все предупреждения предотвратить в скрипте и попробовать запускать с -w его и посмотреть, как все получится. Или даже по одному варнинги эти чистить и смотреть на результат запуска. Может быть так ?
Название: Perl -w
Отправлено: YA от 15 Мая 2002, 08:57:23
Цитировать
Используй DzSoft Perl Editor и все будет ХОРОШО!

Хотел заценить, но что-то я никак не могу найти "бесплатную" версию :)
Название: Perl -w
Отправлено: от 15 Мая 2002, 13:16:12
Попробуй perl -d script.pl
далее жмешь:
s - пошаговое выполнение,
n- пошаговое выполнение, без захода в подпрограммы.
X и V - просморт переменных.
Название: Perl -w
Отправлено: ESE от 15 Мая 2002, 18:46:39
Вот он сам http://wcarchive.cdrom.com/pub/bws/bws_50/perleditor.zip
А вот лекарства ??? Где-же лекарства ???
Нету пока лекарст, но в скором времени должны появиться :)

Если ты из Москвы то я могу тебе терминалом сбросить v3.2
Название: ээ
Отправлено: Green Kakadu от 16 Мая 2002, 04:12:48
AbsolutePerl - лучший редактор + freeware+ наши разработчики.
Цитировать
Предупреждение - оно и есть предупреждение (из разряда "если бы , да кабы...") и на работу влиять не должно, тем более с таким эффектом.

Обычно не влияет, просто в логи скидывает. Видать ;) терпение у Perl\'a лопнуло все это в логи кидать, вот он и #$%!
По идее, можно предупреждения обработать самому, выкинуть тупые (типа используется один раз - иногда, так нужно), через $SIG{__WARN__}= sub {...}
Название: Perl -w
Отправлено: YA от 16 Мая 2002, 08:36:47
Цитировать
AbsolutePerl - лучший редактор + freeware+ наши разработчики.

Мне он тоже нравиться, только вот слишком долго последней (и единственной) версией является глючная вторая бета. И я уверен, что когда разработчики ее доделают от "Free" ничего не останется.
Sorry за оффтопик.
Название: Perl -w
Отправлено: Mog. от 17 Мая 2002, 07:40:27
Цитировать
Видать  терпение у Perl\'a лопнуло все это в логи кидать, вот он и #$%!

Получается, что зависит это не от числа варнингов , а от числа строк в скрипте, пусть даже и закомментированных. Т.е. все работало, добавил несколько строк кода - виснет, закомментировал их - виснет, убрал -w - работает. И я так понимаю, что до запуска скрипта дело не доходит, поскольку даже варнинги не до конца в лог пишутся. А кстати, если запускать скрипт из командной строки с -c ключем, то они (варнинги) все показываются и "все Ok" тоже показывается. А вот как дело доходит до работы в связке с Апачем, тут и заминка возникает.