Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Sending commands to a Telnet Server

by wombat (Curate)
on Nov 19, 2000 at 05:58 UTC ( #42388=perlquestion: print w/replies, xml ) Need Help??
wombat has asked for the wisdom of the Perl Monks concerning the following question:

I am embarking on a great undertaking. I'll refrain from talking about it here because it's not really important to the question. I ask this question because I'm being befuddled on the first step.

My program telnets into a MUSH, using open MUX_OUTPUT, "|telnet 8080 > logfile"   It telnets in correctly, the logfile gets the expected output that the MUSH sends back, however, I cannot print commands to the MUSH. I have unbuffered my output with $|=1. I have tried sending commands ending in \n \r \f and many combinations thereof. I got it to work in C using popen(), \n, and manually flushing the buffer after each write, but this doesn't seem to work at all in the holy language of PERL. Any ideas what I'm doing wrong?


Replies are listed 'Best First'.
Re: Sending commands to a Telnet Server
by Fastolfe (Vicar) on Nov 19, 2000 at 07:13 UTC
    Are you unbuffering the right file handle? $|=1 affects the currently-selected filehandle. Be sure you're doing this:
    select(MUX_OUTPUT); $|=1; select(STDOUT); print MUX_OUTPUT "this is unbuffered\n";
    Though you will avert this headache by following merlyn's advice and giving Net::Telnet a try. If you prefer more control, use IO::Socket and/or Expect and set up the connection to the MUSH yourself:
    my $mush = new IO::SOCKET::INET ("") or die "Couldn't connect to MUSH: $@"; print $mush "command\n"; my $response = <$mush>;
Re: Sending commands to a Telnet Server
by merlyn (Sage) on Nov 19, 2000 at 06:05 UTC

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://42388]
Approved by root
[Perl300]: Hi all
[Perl300]: I have a quick question about the Meta CPAN
[Perl300]: On any modules pod page, what does the date on top left corner below authors name indicate?
[Corion]: Likely the date of the release of the module
[Corion]: Yep, seems like that

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (10)
As of 2017-12-11 17:59 GMT
Find Nodes?
    Voting Booth?
    What programming language do you hate the most?

    Results (310 votes). Check out past polls.