All pastes #767442 Raw Edit

uadmin_client-0.1.2

public text v1 · immutable
·published 2007-11-09 19:27 UTC
rendered paste body
use strict;
use IO::Socket;
my ($again,$peer,$state,$new);

while (1) {
  print q(Peer: );
  chomp($peer = <STDIN>);
  until ($again =~ /no?/i) {
    my $sock = build_sock($peer);
    print q(Statement: );
    chomp($state = <STDIN>);
    print $sock $state; close($sock);
    print q(Again? [y/n]: );
    chomp($again = <STDIN>);
  }
  print q(New peer? [y/n]: );
  chomp($new = <STDIN>);
  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;
}