I'd first run strace (or the local equivalent) to see what it is doing when it hangs. That might lead me to getting a packet capture. If either of those seem to show that the Perl code is doing something wrong, then you could turn on debugger trace (to a file; see AutoTrace in perldebug) and just let it run and, after a while, check if it has been looping or was sitting waiting for something, and where.
| [reply] |
84: close(MAIL);
113: warn "Could not login to SFDC: $@";
114: die;
Line 84 is the end of a subroutine that I use for mailing errors to an Operations team. Then line 113 is the error message when the login fails. There is no info in between those two items. | [reply] [d/l] |
I'm not completely certain what you mean, but it is certainly possible that close(MAIL); is what is hanging, because it is waiting for the process that you were writing to to exit.
Which means you might want to use "strace -f" so you can see what the process you are writing to is trying to do as well.
| [reply] [d/l] |