in reply to Remote server OS identification

I should have done this before posting earlier... There's a CPAN module that wraps nmap, making it possible to use nmap from within your Perl program. I've not used it, but it looks pretty staightforward.