#!/usr/bin/perl -w use DBI; my $dbh = connectpgdb('****','****','****','Pg','localhost'); my $n = getsqlvalue($dbh,"select count(*) from blog"); print $n; sub connectpgdb { # this is used to connect with DBD::Pg my ($database,$user,$password,$driver,$server) = @_; my $url; unless ($driver) { $driver = "Pg"; } unless ($server) { $url = "DBI:$driver:dbname=$database;host=localhost"; } else { $url = "DBI:$driver:dbname=$database;host=$server;port=5432"; } unless ($user) { $user = "****"; $password = "****"; } my $dbh = DBI->connect( $url, $user, $password,{AutoCommit=>1,RaiseError=>1,PrintError=>1}) or die "connectdb can't connect to psql: $!\n"; return $dbh; } sub getsqlvalue { my @results = (); my ($dbh,$sqlstatement)= @_; my $sth = $dbh->prepare($sqlstatement); my @row; $sth->execute || die "Could not execute MySQL statement: $sqlstatement"; while (@row=$sth->fetchrow_array) { push(@results, [ @row ]); } $sth->finish(); return $results[0][0]; }