URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7197
[ Назад ]

Исходное сообщение
"perl+dbi, передача dbh в функцию"

Отправлено CombatPenguin , 20-Фев-08 18:15 
Вот такой вот тестовый код

#cat test.pl
use DBI;
use warnings;
use strict;

sub main {
    my $dbh=DBI->connect("DBI:Pg:dbname=test","test", "test") or die $DBI::errstr;
    &test($dbh);
    $dbh->disconnect;
}

sub test {
    my $dbh = @_;
    my $sth = $dbh->prepare("select * from tests");
    print $sth->dump_results;
    $sth->finish;
}

приводит к ошибке: Can't call method "prepare" without a package or object reference at test.pl line 13.


Содержание

Сообщения в этом обсуждении
"perl+dbi, передача dbh в функцию"
Отправлено Slimm , 20-Фев-08 18:24 
может надо так

    my $dbh = $_[0];

а то @_ массив вроде как ...



"perl+dbi, передача dbh в функцию"
Отправлено CombatPenguin , 20-Фев-08 18:27 
>может надо так
>
>    my $dbh = $_[0];
>
>а то @_ массив вроде как ...

да вы правы :) спасибо

p.s. в листинге забыл $sth->execute в функции и &main; в конце