#tcpserver.pl #!/usr/bin/perl use strict; use warnings; use IO::Socket::INET; use Storable qw(nfreeze); $| = 1; my ($socket,$clientsocket); my ($peeraddress,$peerport); my $data; my $line; my $inputfile = "list.txt"; my %names=(); my $reftohash; open(RF, "$inputfile"); # read file while ($line=) { chomp $line; $names{$line}=1; } #set hash reference $reftohash=\%names; $socket = new IO::Socket::INET ( LocalHost => 'localhost', LocalPort => '5000', Proto => 'tcp', Listen => 5, Reuse => 1 ) or die "ERROR in Socket Creation : $!\n"; while(1) { $clientsocket = $socket->accept(); print $clientsocket nfreeze($reftohash); } $socket->close(); ########## #tcpclient.pl #!/usr/bin/perl use strict; use warnings; use Data::Dumper; use IO::Socket::INET; use Storable qw(thaw); $| = 1; my $socket; my $data; my $data1; $socket = new IO::Socket::INET ( PeerHost => 'localhost', PeerPort => '5000', Proto => 'tcp', ) or die "ERROR in Socket Creation : $!\n"; $data = <$socket>; $data1 = thaw($data); print "Received from Server : $data1\n"; foreach my $i (keys %{$data1}) { print "$i=>$data1->{$i}\n"; } $socket->close();