Forum Webscript.Ru

Программирование => Perl => Тема начата: Timofey от 12 Ноября 2004, 19:54:05

Название: свои модули и область видимости переменных
Отправлено: Timofey от 12 Ноября 2004, 19:54:05
есть у меня головной скрипт и есть свои модули из которых он дергает процедуры и возникла проблема с видимостью переменных ,т.е.
#!/usr/bin/perl -w
# index

use DBI;
use CGI qw/:standard/;

print "Content-Type: text/html\\n\\n";

#мои модули
require \'modules/pricetemp.cgi\';
require \'modules/maintemp.cgi\';

require \'config.txt\';

#вызываю процедуры из модулей
pack1::convert_param();
pack1::date_format();

$dbh = DBI->connect("dbi:$dbdriver:$basename:$hostname:$port","$username","$passwordb") || die print "$DBI::errstr";

....

сам модуль

package pack1;

BEGIN{}

....
sub formating_date($$$$)
{
my $sqlstatement1 = "SELECT DATE_FORMAT($_[3],\'%d.%m.%Y %T\') FROM $_[2] WHERE $_[0]=$_[1]";
my $sth1 = $dbh->prepare($sqlstatement1);
$sth1->execute || die print "$DBI::errstr";
@format_date=$sth1->fetchrow_array;
# formating_date("id_request",$type_request[0],"type_request","date_publication");

}

и тут засада, как быть с переменной для доступа к базе $dbh
Название: свои модули и область видимости переменных
Отправлено: Green Kakadu от 12 Ноября 2004, 23:02:43
Цитировать
Timofey:
и тут засада, как быть с переменной для доступа к базе $dbh

$main::dbh
или просто передавай $dbh в качестве параметра