[ale] Slightly ot: perl question.

maniac at bloodraven.net maniac at bloodraven.net
Mon Feb 14 14:57:57 EST 2005


> That is some hard to read perl.  Why use the qq in the prepare?  Why not
> a string?
if you did not use qq{} then you would have to escape the quotes in the 
string, ie: \"literal\"

>> 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.
the while loop will step through each row returned



----- Original Message ----- 
From: "Christopher Fowler" <cfowler at outpostsentinel.com>
To: "Atlanta Linux Enthusiasts" <ale at ale.org>
Sent: Monday, February 14, 2005 2:24 PM
Subject: Re: [ale] Slightly ot: perl question.


> That is some hard to read perl.  Why use the qq in the prepare?  Why not
> a string?
>
> On Mon, 2005-02-14 at 14:07, John Cole wrote:
>> 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.
>>
>> _______________________________________________
>> Ale mailing list
>> Ale at ale.org
>> http://www.ale.org/mailman/listinfo/ale
>
> _______________________________________________
> Ale mailing list
> Ale at ale.org
> http://www.ale.org/mailman/listinfo/ale
>
> 



More information about the Ale mailing list