in reply to Net::SSH::Perl kills perl from within an eval

Maybe running your program under strace (or equivalent) would help to shed some light on what's going on... (from the system call perspective, that is).  This would easily detect stuff like trying to write to a broken socket/pipe, etc.