| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Начал учить perl. Профи - HELP! |
| Автор: TheLeader 19.11.2005, 02:41 |
| ПОмогите найти ошибку. Скрипт работает некорректно. Учу по самоучителю. Полностью переписал листинг. 2 часа мучался чтоб скрипт заработал - невышло. Добавлено @ 02:43 Это простой скрипт отправки email... |
| Автор: korob2001 19.11.2005, 03:44 | ||
| Название темы должно отражать её суть. Код выкладывай в следующий раз сюда. Подправил:
Проблема была в декодировании параметров, так же переменная окружения $ENV{CONTENT_LENGTH} была написана с ошибкой LENGHT, а так же проблема в пространствах имён, хеш %FORM не был обьявлен глобально, а используется в двух подпрограммах. Если что-то не поймёшь, спрашивай. |
| Автор: Kiber_rat 19.11.2005, 04:50 | ||||||||||
| А просто выложить сюда исходники через copy/paste? Качать как правило ломает, еще и rar-ом упакованный Вот так надо задавать вопрос (это твой код):
Теперь можно посмотреть что к чему Во первых, всем, а особенно начинающим, рекомендуется в начале кода (срауз под #!/usr/bin/perl) включать
И еще, для обучения и опытов может и стоит самому принимать и обрабатывать параметры переданные скрипту, но правильнее и безопаснее использовать модуль CGI
Ну и в твоем html файле нужно поправить methoh на method
Если не секрет, по какой книжке ты учишь perl? Почитай на форуме о рекомендуемой литературе и пользуйся ей. Так ты сэкономишь себе кучу времени и нервов, а кроме того научишься писать правильный и красивый код. |
| Автор: TheLeader 20.11.2005, 05:42 |
| Ой! Спасибо всем огромное!!!! ps Книга: Perl 5 веб-профессионалам Авторы: Мика Браун, Крис Белью, Дэн Ливигстон. Добавлено @ 05:47 А посоветуйте ещё прогу для написания пёрла? Нужна только подсветка синтаксиса. Никакой автоматизации, ибо человек юзающий прогу с автоматизацией никогда нормально программить не научится... =) |
| Автор: TheLeader 20.11.2005, 05:58 | ||||||||
| Написал очень простой скрипт гостевухи. Приметивный. Опять не работает =( Вот код: get_form_data.pl
guestbook.html
guestbook-save.cgi
guestbook-view.html
|
| Автор: Kiber_rat 20.11.2005, 22:45 |
| Если первый пример скрипта был из книги, то выбрось ее пока не поздно! Начинать лучше всего с книги "Изучаем Perl" Р. Шварц, Т. Феникс, а продолжать изучение - "Программирование на Perl" и "Perl библиотека программиста". Все три книги издательства O'Reilley. Та что у тебя, это из разряда "Нейрохирургия за 21 день". Что касается редактора в котором удобно писать на Perl, то это зависит от того в какой ОС ты работаешь, в любом случае, не ленись использовать поиск по форуму, эта тема уже не раз обсуждалась, к примеру http://forum.vingrad.ru/index.php?showtopic=43960&unread=1&hl=%EF%EE%E4%F1%E2%E5%F2%EA%E0. Ну и что касается твоего кода. Ты так и не воспользовался советами по поводу включения use strict; и use warnings;, это раз. Ты все равно не используешь модуль CGI, а зря, это два. У тебя считывание данных вынесено в отдельную процедуру и отдельный файл (при использовании модуля CGI в этом бы не было необходимости), ты ее подключаешь, вызываешь, но куда у тебя из нее возвращаются значения? Опять в локальный, для этой процедуры, хэш %FORM? Не говоря уже о том, что я вобще не вижу откуда у тебя в этом хэше берутся значения. Ты не потерял кусок кода? И главное, ты хочешь учить perl или тебе надо пару-тройку скриптов написать? Если хочешь учить, то старайся находить ошибки сам, потому как ничего загадочного у тебя тут нет, простая невнимательность. |
| Автор: TheLeader 21.11.2005, 07:26 |
| Т.к. у меня нет утренний, то в нете я соответственно только утром. Вчера днём нашел все ошибки. При включении use strict; и use warnings;, скрипт почемуто отказывается работать... А книга на мо взгляд отличная, там очень хорошо комбинируется практика и теория. |
| Автор: sharq 21.11.2005, 11:45 | ||||
Книга такая темно синия - Perl профессианалам (или что-то типа того). Если честно - то книга сильно устарела и нужна только тем, кому не кайф самому думать и писать скрипты. TheLeader тебе ведь советуют - использовать модуль CGI, ты попробуй, когда получится, будешь очень рад.
Не работает, потому что книга очень устарела! Все используемые переменные нужна описать через my - это как минимум. В общем, мой тебе совет - забудь про эту книгу, perldoc CGI и книги O'Reilley (скачать их можно в разделе Компьютерная литература). |
| Автор: TheLeader 22.11.2005, 05:38 |
| Ок. Спасибо большое. Ща гляну туды.... =)) |
| Автор: TheLeader 22.11.2005, 17:01 |
| А На русском языке нечего нету? |
| Автор: sharq 22.11.2005, 17:57 |
| TheLeader да там и на русском есть, что конкретно интересует? |
| Автор: Guest 22.11.2005, 21:36 |
| Конкретно САМОУЧИТЕЛЬ по PERL'у для начинающих. Желательно объяснения на практике. |
| Автор: TheLeader 22.11.2005, 21:38 |
| Нечаянно написал гстем. Пофигу. С.м. выше =) |
| Автор: sharq 23.11.2005, 12:38 |
| TheLeader качай http://djs9.agava.net/bookz/comp/shwarcrndl01.rar http://forum.vingrad.ru/index.php?act=Attach&type=post&id=417652 Это для начала. Очень полезно будет скачать http://dfni.dp.ua/books/ в разделе perl книги Том Кристиансен Perl: библиотека программиста, Уолл Л., Кристиансен Т., Орвант Д. Программирование на Perl (3-е изд.). |