LINUX.ORG.RU

Perl и DBD


0

0

надо что б было так: 
use DBI;

sub parse_file
{

        $name = $_[0];
	...
        $query="INSERT INTO ...";
        $dbh->begin_work();
        $dbh->do($query);
        $dbh->commit();
	...
}

my $dbh = DBI->connect('DBI:Pg:dbname=testdb', 'pgsql', '');
my $bytes = parse_file('file.txt',$dbh);
$dbh->disconnect();

т.е. передавать хендлер DBI

пока сделано так: 
use DBI;
$dbh = DBI->connect('DBI:Pg:dbname=testdb', 'pgsql', '');
sub parse_file
{

        $name = $_[0];
	...
        $query="INSERT INTO ...";
        $dbh->begin_work();
        $dbh->do($query);
        $dbh->commit();
	...
}
my $bytes = parse_file('file.txt');
$dbh->disconnect();

т.е. хендлер глобальный.
как все же реализовать первый вариант

А в чем затруднения-то?

sub do_smth($$) {
  my ($name, $dbh) = @_;
  
  return $dbh->do("smth with $name");
}

anonymous
()
Ответ на: комментарий от HoBBuT

Было отсутствие в третьей строке программы буков use strict; Рекомендую perldoc strict.

vany
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.