[Trilug-ontopic] perl and threads

Greg Brown gwbrown1 at gmail.com
Thu Mar 10 17:07:24 EST 2011


Ok, I've GOT to get my scripts using threads.  Here's what I've got and what
I'd like to do:

source: a 3000 line file with hostnames, IP addrs, etc.

what script does: logs into each device using Net::SSH::Expect that makes
configuration changes to IOS devices (uses Net::SSH::Expect rather than
expect.pm because one of our NMS servers is a windows box and the scripts
have to run across all NMS servers.. sigh)

how script does it: the guts of the script, the real work, is all done in a
subscript.  The main portion of the script opens the file and creates a
foreach loop to process each line (and device) one at at time.  As you might
imagine this script takes a long time to complete.  The subscript returns a
message to the main script that is written to a log file ("login failed",
"change implemented", etc).

what I'd like to do: take a group of devices, say five at at time, and
launch the subscript as a thread so I can process more than one device at a
time.  I would imagine this would involve some kind of flock on the log file
so two threads couldn't return at the same time.  John B. sent me some
instructions how to thread a perl script a while back but now I can't find
it.

Does anyone know of a perl book with good and clear examples that use
threads?

Greg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.trilug.org/pipermail/trilug-ontopic/attachments/20110310/45c99416/attachment.htm>


More information about the Trilug-ontopic mailing list