> 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]