in reply to Remote server OS identification

Use nmap. It might not be pure-Perl, but it'll work. Usually, I don't like relying on external programs from my Perl code, but I don't know of any module that comes close to the functionality of nmap.

----
I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
-- Schemer

Note: All code is untested, unless otherwise stated