| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Компиляция perl модулей? |
| Автор: azesmcar 14.10.2009, 09:25 |
| Добрый день, Возможно мой вопрос покажется странным, но я абсолютно ни хрена не смыслю в Perl, я его увидел несколько дней назад впервые в жизни В общем так, один друг попросил исправить пару багов в одном проекте написанном на Perl, один я исправил, но со вторым проблема, опишу какая. Проблема оказалась не в самих исходниках, а в модулях (наверное, расширение файлов .pm (Perl Module)). Находятся эти файлы в папке site_lib из чего я сделал вывод что это модули, но все изменения в этих файлах абсолютно никак не отражались на самом сайте, куда я только этот тестовый print "TEST" не вставлял. И вот..через полтора часа страданий слово TEST появилось на экране моего монитора..ураааа, аплодисменты и все такое, но я теперь его убрать оттуда не могу, сделал grep по всему каталогу - нету там слова TEST, все удалил, а он гад все равно продолжает выводить на экран в заголовке. Такое ощущение что в какой-то момент библиотека скомпилировалась. Вопрос: Нужно ли эти модули как-то компилировать и если да то как? perlcc выдал что компилирование в .so отключено |
| Автор: krypt3r 14.10.2009, 09:31 |
| А вы что, не помните, куда вставили print "TEST"? |
| Автор: azesmcar 14.10.2009, 09:35 |
Помню конечно, я его оттуда убрал, на всякий случай еще и grep -ом по исходникам прошелся...нету его там, а он гад выводит. Добавлено через 4 минуты и 7 секунд Дело в том, что все изменения на этих файлах никак не влияют на программу, повлияли в один момент (когда TEST начало выводить) и все...сейчас даже там где print "TEST"; был вставляю что либо другое - никакого эффекта. Такое ощущение что там какая-то компиляция в crontab стоит, пока не проверял, но хотелось бы узнать как это вообще работает? |
| Автор: KSURi 14.10.2009, 09:46 |
| Если проект работает под mod_perl или подобной технологией, то рестартаните сервер. Если нет, то проверяйте пути к папкам модулей (особенно актуально, если на сервере стоит несколько разных версий перла). |
| Автор: DEER 14.10.2009, 14:22 |
| очень похоже на mod_perl или может данные кешируются где то. Например, при использовании HTML::Mason надо удалять временные директории |
| Автор: azesmcar 14.10.2009, 14:51 |
| DEER, А где эти директории находятся то? Как посмотреть? Пока что единственное что я знаю о сервере это то, что там стоит apache. Если нужна какая либо информация для ответа вы скажите как посмотреть, я вечером напишу. |
| Автор: DEER 14.10.2009, 14:54 |
| ну обычно кеш папки находятся там, где указано в конфиге |
| Автор: Bulat 15.10.2009, 13:28 | ||
Ну так гадать не дело...
Собственно разобравшись как оно появилось, можно было бы сразу понять как оно должно исчезнуть... Попробуй для начала просто передернуть апач, потому что так гадать какая именно технология кэширующая данные используется... А так глядишь, и само все на место встанет. |
| Автор: azesmcar 15.10.2009, 13:40 | ||
Да знаю...но я так и не понял КАК оно появилось |
| Автор: azesmcar 16.10.2009, 10:08 |
| Проблема оказалась в кешировании, перезагрузка помогла Проблема решена - баги исправлены Благодарю всех за помощь. |
| Автор: Bulat 16.10.2009, 16:11 |
На будущее компиляция кода у перла происходит на уровне виртуальной машины.. Поэтому достаточно просто изменить код и сохранить файл, а оно само впитается |
| Автор: azesmcar 16.10.2009, 17:56 | ||
Честно говоря я так и думал, но оказалось что этот механизм работает не самым идеальным образом иногда бывает надо перезагрузить. |
| Автор: Bulat 19.10.2009, 16:54 | ||
На самом деле, на уровне самого языка программирования и виртуальной машины - все работает идеально... Но, до попадания на экран монитора через браузер - используется еще ряд технологий и механизмов, которые не имеют никакого отношения к перл. ;) |
| Автор: azesmcar 19.10.2009, 17:19 | ||
Ну значит я не того обвиняю |