Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > Модульность в Perl


Автор: Firebird 14.12.2007, 18:36
  Привет!

  Необходимо выделить процесс подключения к серверу от основного скрипта в отдельный скрипт.

  Скрипт config.pl
  
Код

#!c:/perl/bin/perl.exe
use DBI;
use CGI \:standard\;

my $dbh = DBI -> connect("DBI:mysql:base", "root", "");


Основной скрипт main.pl
Код

#!c:/perl/bin/perl.exe

require "config.pl";

.........


Ошибок не выдает, но не выполняется, выдается пустое окно. Где ошибка?

Автор: shamber 14.12.2007, 18:55
может
Код

 our $dbh
 ?

Хотя мне кажется что даных маловато. что ваш скрипт делает?

Автор: Firebird 14.12.2007, 19:18
  Спасибо, shamber, получилось!  smile 

  Полный код скрипта config.pl

  
Код

  #!c:/perl/bin/perl.exe
  use DBI;
  use CGI qw \:standard\;

  our $dbh = DBI -> connect("DBI:mysql:base", "root", "");


  Подключение его к основному скрипту main.pl

Код

#!c:\perl\bin\perl.exe

require "config.pl";

#Далее выполняется основной скрипт, т.е. выборка и обработка данных БД


  Много скриптов, которые подключаются к одной и той же БД под тем же пользователем, различаются только в обработке данных. Иногда админ меняет даные пользователя и приходится менять параметры подключения в каждом скрипте. Хотелось вывести процесс подключения в отдельный скрипт, и просто вызывать его. А в случае необходимости редактирования параметров подключения, обновить только один скрипт config.pl, что и получилось.  smile  
  

Автор: nitr 17.12.2007, 01:16
Если у вас кроме подключений и ещё что-то будет, стоит призадуматся о написании модуля ООП (класса)...

Автор: Rybnadzorro 18.12.2007, 14:01
Вы не забыли в конце config.pl волшебную строку?

Код

1;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)