[ale] Slightly ot: perl question.
John Cole
jcole at filink.com
Mon Feb 14 14:12:56 EST 2005
Howdy all!
First of all, it is amazing how much knowledge you gain when you have to fix
systems you didn't design. :)
Well, my question for today is why this code snippet doesn't work. It's in
a program I'm trying to utilize but I'm not getting the while loop to
activate.
# Open a ForkManager handle limiting the number of children
# to MAX_FORKS
$pm = new Parallel::ForkManager($scanq);
#Select scheduled scans to run.
$sth = $dbh->prepare(qq{
SELECT scan.host, scan.sched_id, sched.sid, sched.timeout,
sched.username, sched.next_scan
FROM nessus_scan scan, nessus_schedule sched
WHERE scan.status = "S"
AND scan.server_id=$serverid
AND scan.sched_id=sched.id
AND sched.next_scan > 0
} );
$sth->execute;
while(($host, $schedid, $sid, $timeout, $username,
$scantime)=$sth->fetchrow_array){
$pm->start and next; # Do the fork
my $dbhf;
$dbhf =
DBI->connect("$CONFIG{'DATABASEDSN'}:$CONFIG{'DATABASENAME'}:$CONFIG{'DATABA
SEHOST'}","$CONFIG{'DATABASEUSER'}","$CONFIG{'DATABASEPASSWORD'}", {
PrintError => 0,
RaiseError => 1,
AutoCommit => 1 } ) or die("Failed to connect :
$DBI::errstr\n");
If I do a:
print $sth->fetchrow_array;
After the $sth->execute; I get the output from the db as requested.
I don't see how any of the variables in the while loop are being measured.
All that exists is a:
my ($host, $schedid, ...) at the very beginning of this perl script.
Any ideas anyone?
Thanks,
John Cole
This email and any files transmitted with it are solely intended for the use of the
addressee(s) and may contain information that is confidential and privileged. If
you receive this email in error, please advise us by return email immediately.
Please also disregard the contents of the email, delete it and destroy any copies
immediately.
More information about the Ale
mailing list