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]

Reply via email to