sub send_data { my ($self, $connection) = @_; my $address = eval{$$connection->peerhost}; my $port = eval{$$connection->peerport}; $$connection->close; my $sock = IO::Socket::INET->new( Proto => 'tcp', PeerAddr => $address, PeerPort => $port ) or Carp::confess $@; # <- this used to be die $! $sock->autoflush(1); syswrite($sock, $self->{data}, length($self->{data})); $sock->close; }