hey everyone,my first post here.
i'm new to Perl , i am trying to write a very simple chat server,which will take each client's message and send it back to all other clients,but i'm unable to send the message to other clients,anyway this is my code.any help would be appreciated
Code:
use strict; 
use IO::Socket; 
use POSIX 'WNOHANG'; 
my $c=0; 
my @arr; 
$SIG{CHLD}=\&h; 
sub h { 
while(waitpid(-1,WNOHANG)>0) {} 
}; 
$SIG{'INT'}=sub  
{ 
print "server terminated\n"; 
exit 0; 
}; 
 
my $svr=IO::Socket::INET->new(LocalPort=>'12345',Listen=>20,Proto=>'tcp',Reuse=>1) or die 'Cant create Socket'; 
my $clnt; 
while(1) { 
next unless $clnt=$svr->accept; 
$c++; 
#push(@arr,$clnt); 
my $child=fork(); 
my $ip=$clnt->peerhost(); 
my $port=$clnt->peerport(); 
print "Connection Aceepted $ip:$port\n"; 
if($child==0) { 
$svr->close; 
wc($clnt); 
exit 0; 
print "$ip:$port Left \n"; 
} 
$clnt->close; 
} 
 
sub wc { 
my $clnt=shift; 
my $msg="$c users(s) online\n"; 
print $clnt $msg; 
rcv($clnt); 
} 
 
sub rcv { 
my $ip=$clnt->peerhost(); 
my $port=$clnt->peerport(); 
my $c=shift; 
while(my $msgin=<$c>) { 
print "$ip:$port => $msgin \n";} 
}