![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| webser |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 21.12.2007 Репутация: нет Всего: нет |
Я недавно начал программировать - учусь "на ходу".
Суть вопроса проста - подключение pm-модулей. У меня есть набор perl-программ, которые я отлаживаю на локальном сервере. А потом мне надо перекинуть их на внешний. Что-бы не менять пути в модулях - я создал файл wwwvars.pm, где определил пути :::: #!/usr/bin/perl package wwwvars; ################################################## ######################### # User defined variables ################################################## ######################### # Server root directory $config{'srv_root'} = "V:/имя сервера/www"; # $config{'srv_root'} = "/home/clients/имя сервера/public_html"; 1; и в перловых программах подключаю его ::: #!/usr/bin/perl use wwwvars qw(%config); print "Content-type: text/html\n\n"; $path = $config{'srv_root'}; print "путь ::::: ",$path; НО НИЧЕГО НЕ ПОДКЛЮЧАЕТСЯ и ОШИБКУ НЕ ВЫДАЕТ. Может чего в настройках Apache (файле http.conf) изменить? Буду Вам очень признателен за указание на ошибку - чувствую, что какая-то мелочь Заранее спасибо |
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
а) во-первых. Прочитайте про модули и механизм экспорта - 30 минут - решает 70 % проблем
http://perldoc.perl.org/perlmod.html б) решение вашей проблемы ( нет, вы все таки прочитайте про модули, прежде чем копипастить =))
вот. если вам не охото все вермя писать use wwwvars qw(%config); то можно в написать за место @EXPORT_OK =... @EXPORT=... Однако, по - моему это очень не правильно что модулт зависят от абсолютного пути по которому они лежат.. зачем вам это? может быть можно решить проблему используя другие средства, например use Cwd ? |
|||
|
||||
| webser |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 21.12.2007 Репутация: нет Всего: нет |
Я разбирался с готовыми кодами и чт-то упустил. Там было ::::
################################################## ######################### # User defined variables ################################################## ######################### package wwwvars; require Exporter; @ISA = qw (Exporter); @EXPORT = qw(@EXPORT_OK); @EXPORT_OK = qw(%config); use vars qw(%config); use strict; # Server root directory $config{'srv_root'} = "V:/имя сервера/www"; # $config{'srv_root'} = "/home/clients/имя сервера/public_html"; 1; А я этот блок по неразумению "похерил"..... Сейчас поставил так, как выше - все заработало.... Спасибо за совет.... |
|||
|
||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
А не проще %config сразу в @EXPORT? А то какое-то извращение получается... -------------------- Died at Life.pl line 21 |
|||
|
||||
| webser |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 21.12.2007 Репутация: нет Всего: нет |
Т.е вот так ? :::::
Я разбирался с готовыми кодами и чт-то упустил. Там было :::: ################################################## ######################### # User defined variables ################################################## ######################### package wwwvars; require Exporter; @ISA = qw (Exporter); @EXPORT = qw(%config); use vars qw(%config); use strict; # Server root directory $config{'srv_root'} = "V:/имя сервера/www"; # $config{'srv_root'} = "/home/clients/имя сервера/public_html"; 1; |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |