Howdy:

I know this is WAY out in left field, but I am
trying to figure out how I can bring back a
numerical value and evaluate it so I can do
something else.

So, this is what I'm doing:  I connect to the 
database, get a count of records and bring
back that number.  At least it looks good on
paper ... but now I need to evaluate it as
a number and not as a list item (if I'm making
any kind of sense).

[snip code]

#!/usr/bin/perl -w
use diagnostics;

#created 24 May 02

# script to connect to database do a count
# evaluate the count and decide to
# build a table based on the count

use DBI;
use Net::SMTP;

#$date=`date`;
$mbr_count='/usr/local/home/joeuser/tmp/mbr_count.txt';
$addr='[EMAIL PROTECTED]';

my $dbh=DBI->connect('dbi:Pg:dbname=database', 'joeuser')
        or die "Can not connect: $!";

# create an sql to get the initial count
# since i can not evaluate it and return the
# true / false part (not sure how yet)
#

my $sql = qq| select count (*),
        from test_table
        | ;

# check to make sure i have a connection
# and if there is an error with the sql
#

my $sth=$dbh->prepare($sql) or die "Error =", DBI::errstr;
unless ($sth->execute) {
        print"\n\tExecute failed for stmt:\n\t$sql\nError = ", DBI::errstr;
        $sth->finish;
        $dbh->disconnect;
        die "\n\t\tClean up finished\n";
}

open COUNTFILE, ">$mbr_count";
        print COUNTFILE "Count of member in test table\n\n";
        print COUNTFILE "Please review\n\n";
***PROBLEM AREA***
if ( ($memcount < 1500000 )=$sth->fetchrow) {
        print COUNTFILE "$memcount is all good ... next phase please\n";
} elsif {
        print COUNTFILE "$memcount is not good ... get to work\n";
} else {
        print "some other error: $!";
}

close COUNTFILE;

# maybe i should mail the results

$sendmailcount = "/usr/sbin/sendmail $addr < $mbr_count";
print `$sendmailcount`;

$dbh->disconnect;

[/snip code]


Yeah, I know I shouldn't be able to do the numerical
eval on a list assignment, but how on earth
CAN I do it?

Thanks!

-X

Reply via email to