I have run into this situation before, but never found a solution.. But now that I see the problem try the following prints:
print ${$newsocket[$i]} $command; print *{$newsocket[$i]} $command; print *newsocket[$i] $command; I think the second one might work... let us know how it goes. -----Original Message----- From: Girish Chandran [mailto:[EMAIL PROTECTED]] Sent: Friday, February 22, 2002 4:53 PM To: [EMAIL PROTECTED] Subject: Sockets in an array Hi, I have the following problem. Context: I am trying to open multiple sockets to multiple IP address. I want to use the same piece of code to do that. The IP addresses and port numbers are stored in a file. The program: I read the file, open the sockets in sequence. The sockets (globs/handles) are stored in an array. The error: However when I try to write to the sockets by using the array index, I get an error. Here is the code snippet. use IO::Socket ; $i = 0; foreach $line (@address){ chop ($line); ($host, $port) = split(/\|/, $line); $address = $host. ":" .$port; $newsocket[$i] = IO::Socket::INET->new("$address") or die $@; # The sockets are opened fine. # Print a command to the socket. print $newsocket[$i] $command; $i++; } It is the print command that give a compile error, saying "Scalar found where an operator expected" Can you please tell me what I am doing wrong. Thanks in advance. Girish -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ---------------------------------------------------------------------------- -------------------- The views and opinions expressed in this email message are the sender's own, and do not necessarily represent the views and opinions of Summit Systems Inc. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]