$socket_errmsg = ""; ($socket_errmsg, $send_socket) = get_sending_socket( $isp, $rank, $cfg::rad_srvrs{$isp}{$rank}{server}, $cfg::rad_srvrs{$isp}{$rank}{acctport} ); # Success ... if( !$socket_errmsg ) { # Connect succeeded, so set isp/server values $cfg::rad_srvrs{$isp}{$rank}{conn_status} = 'U'; $cfg::rad_srvrs{$isp}{$rank}{sckt} = $send_socket; # 'Invalid value for shared scalar ' . . . sub get_sending_socket { #blah,blah # Create socket $socket_errmsg = ""; $send_socket = ""; $send_socket = IO::Socket::INET->new(PeerAddr => $server, PeerPort => $port, Proto => "udp", Type => SOCK_DGRAM) or $socket_errmsg = "Couldn't create socket to $server port $port: $@\n"; return($socket_errmsg, $send_socket); }