|laziness, impatience, and hubris|
There's the interactive perl debugger that might help. Simply execute:
In the debugger prompt, type "t" to set trace ON, followed by C to let the code execute. By examining the trace, you can figure out where in the code the timeout occurs. If it's at the point where your client is trying to connect to the destination host, then there's likely a network issue at play.
There are other ways to debug it by setting LWP::UserAgent's debug on. To my recollection, there's a package variable 'Debug' that you use to toggle debugging on/off. LWP library should then spit out enough information to help you figure out if, again, its a simple network connectivity problem or something else.
Update: Actually, you can use the convenient LWP::Debug package to troubleshoot your LWP client script:
Of course, lest I forget, another way to test connectivity to remote host is with the help of the 'telnet' utility! Eliminate network issue before starting to debug your code first. :)
"We've all heard that a million monkeys banging on a million typewriters will eventually reproduce
the entire works of Shakespeare. Now, thanks to the Internet, we know this is not true."
Robert Wilensky, University of California