> use IO::Socket; > $port=21; > > $sock = IO::Socket::INET->new(PeerAddr =>'localhost', > PeerPort => > $port, > Proto => 'tcp') ; > die &inetdconf unless ($sock); > > > my $cmd4=" net stop inetd && net start inetd"; > system($cmd4); > > sub inetdconf() > { > my $cmd=" c:\\oxe\\cygwin\\bin\\sed.exe 's/^\#ftp/ftp/' > c:\\cygwin\\usr\\local\\etc\\inetd.conf > > c:\\cygwin\\usr\\local\\etc\\inetd.new > ";# Comment out ftp entry in /etc/inetd.conf > system($cmd); > my $cmd2=" c:\\oxe\\cygwin\\bin\\mv.exe > c:\\cygwin\\usr\\local\\etc\\inetd.new > c:\\cygwin\\usr\\local\\etc\\inetd.conf"; > # Move new file into place > system($cmd2); > } > > But it always returns 0.Why?
Because of: die &inetdconf unless ($sock); which dies if you don't get a socket. For the text to return it looks at the LAST VALUE evaluated (I don't mean by eval()) in inetdconf() - in this case system(). This strangly returns false on sucess (value "0"), hence provided you fail to get a socket, you get the value "0" printed. Jonathan Paton __________________________________________________ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]