use strict; use IO::Socket; my ($again,$peer,$state,$new); while (1) { print q(Peer: ); chomp($peer = ); until ($again =~ /no?/i) { my $sock = build_sock($peer); print q(Statement: ); chomp($state = ); print $sock $state; close($sock); print q(Again? [y/n]: ); chomp($again = ); } print q(New peer? [y/n]: ); chomp($new = ); end_transfer($peer) if $new =~ /no?/i; } sub build_sock { my $peer = shift or die; my $sock = new IO::Socket::INET ( PeerAddr => $peer, PeerPort => q(7070), Proto => q(tcp), ); return $sock if $sock; die; } sub end_transfer { my $sock = build_sock(shift); print $sock q(END_TRANSFER); close($sock); exit 1; }