Forum Webscript.Ru

Программирование => Perl => Тема начата: R4z0R от 11 Октября 2007, 17:31:55

Название: (PERL) fetch_array
Отправлено: R4z0R от 11 Октября 2007, 17:31:55
Подскажите по ошибке, что не так написал:
my $dbh = DBI->connect("dbi:Pg:port=5432 host=$pghost user=$login password=$pwd dbname=$dbname")
or die "Dont connect to DB:$DBI::errstr\\n";

my $sth=$dbh->do("SET DATESTYLE TO \'ISO\'");
my $sth=$dbh->do("SET CLIENT_ENCODING TO \'WIN\'");
my $sth=$dbh->prepare("select prinadl from prinadleg where prinadl~*\'From site");
$sth->execute();
my $clients={};
my $clients->{\'prinadl\'} = (my $array_ref=$sth->fetchrow_arrayref)[0];
print "$array_ref";
$sth->finish();

Выдает ошибку Can\'t use an undefined value as a HASH reference
и ниже
main::insert_DB(\'HASH(0x97cd7ac)\', \'HASH(0x97cd7d0)\', \'HASH(0x9426f28)\', \'HASH(0x97e3c54)\')
Название: (PERL) fetch_array
Отправлено: vladsu от 12 Октября 2007, 02:10:42

...
my $sth=$dbh->prepare("...");
unless ( defined $sth ) {
    print "...";
    exit 0;
}

$sth->execute();

my %clients;
$clients{\'prinadl\'} = ($sth->fetchrow)[0];
print $clients{\'prinadl\'};
$sth->finish();