system("color 07"); use Win32::Console; my $CONSOLE = Win32::Console->new(STD_OUTPUT_HANDLE); my $attr = $CONSOLE->Attr(); # Get current console colors use IO::Socket; $| = 1; ########################################################### $socket = new IO::Socket::INET ( LocalPort => '4444', Proto => 'tcp', Listen => 1, Reuse => 1 ); die "Coudn't open socket" unless $socket; while(1){ if($client = $socket->accept()){ while(<$client>){ chomp; my $line = $_; my @chars = split(//,$line); foreach(@chars){ if($_ eq '[' || $_ eq ']'){ $CONSOLE->Attr($FG_LIGHTRED); print $_; $CONSOLE->Attr($attr); } elsif($_ eq '{' || $_ eq '}'){ $CONSOLE->Attr($FG_MAGENTA); print $_; $CONSOLE->Attr($attr); } else{ print $_; } } print "\n"; } } } #### sub global_send($){ my $data = $_[0]; foreach my $ip(@connected_ips){ my $server = new IO::Socket::INET ( PeerAddr => $ip, PeerPort => 4444, Proto => 'tcp', ) or warn "Can not connect to client: $ip\nSysErr: $!\n"; if(!defined($server)){return;} $server->send($data); $server->close(); } }