Hello,
I have just tried this, and have this code:
#!/usr/bin/perl -w
use IO::Socket::INET;
$| = 1;
print "ISONAS Logger (perl) v1\n";
my $socket = IO::Socket::INET->new(
PeerAddr => "10.9.1.100",
PeerPort => "5321"
) or die $!;
print "Connected.\n";
$socket->print("<LOGON>|");
while ($socket->recv($text,128)) {
print q{$text};
}
However, I still dont see any text, with or without the q{}
Thanks..
Andy
On 24 Sep 2008, at 12:48, Deviloper wrote:
Try unbuffer IO, this might be on off the Problem.
$| = 1;
the don“t do:
> > while (true) {
> > $socket->recv($text,128);
> > print $text;
> > }
do
> > while ($socket->recv($text,128)) {
> > print $text;
> > }
Byebye,
Bo
Stewart Anderson <[EMAIL PROTECTED]> hat am 24.
September 2008 um 13:35 geschrieben:
> > -----Original Message-----
> > From: Andy Dixon [mailto:[EMAIL PROTECTED]
> > Sent: 24 September 2008 12:26
> > To: [email protected]
> > Subject: Perl Sockets oddity..
> >
> > Hello,
> >
> > I may be being a bit dim, but I wrote this:
> >
> > #!/usr/bin/perl -w
> > use IO::Socket::INET;
> > print "ISONAS Logger (perl) v1\n";
> > my $socket = IO::Socket::INET->new(
> > PeerAddr => "10.9.1.100",
> > PeerPort => "5321"
> > ) or die $!;
> >
> > print "Connected.\n";
> >
> > $socket->print("<login>|");
> >
> > while (true) {
> > $socket->recv($text,128);
> > print $text;
> > }
> >
> >
> > The data gets sent to the server, and data comes back, but does
not
> > get displayed on the screen. However, if I change the while() to
> > while($text==$text), I get the following error:
> >
> > Use of uninitialized value in numeric eq (==) at ilog.pl line 13.
> > Use of uninitialized value in numeric eq (==) at ilog.pl line 13.
> > Use of uninitialized value in print at ilog.pl line 14.
> > Argument "< 9/24/2008><12:25:43><LOGON>|" isn't numeric in
numeric eq
> > (==) at ilog.pl line 16.
> > Argument "< 9/24/2008><12:25:43><LOGON ACCEPTED>||" isn't
numeric in
> > numeric eq (==) at ilog.pl line 16.
> >
> > So, $text does contain the result, but for some reason it will not
> > print to the screen. I'm stuck!!!
> >
> [Stewart Anderson]
> Is it that perl is interpolating $text and your argument has
> symbols in it ? Quoting the var might help?
>
>
>
> Information in this email including any attachments may be
privileged, confidential and is intended exclusively for the
addressee. The views expressed may not be official policy, but the
personal views of the originator. If you have received it in error,
please notify the sender by return e-mail and delete it from your
system. You should not reproduce, distribute, store, retransmit, use
or disclose its contents to anyone. Please note we reserve the right
to monitor all e-mail communication through our internal and
external networks. SKY and the SKY marks are trade marks of British
Sky Broadcasting Group plc and are used under licence. British Sky
Broadcasting Limited (Registration No. 2906991), Sky Interactive
Limited (Registration No. 3554332), Sky-In-Home Service Limited
(Registration No. 2067075) and Sky Subscribers Services Limited
(Registration No. 2340150) are direct or indirect subsidiaries of
British Sky Broadcasting Group plc (Registration No. 2247735). All
of the companies mentioned in this paragraph are incorporated in
England and Wales and share the same registered office at Grant Way,
Isleworth, Middlesex TW7 5QD.
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> http://learn.perl.org/
>
>