Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

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 host.server.net 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?

~W

Comment on Sending commands to a Telnet Server
Select or Download Code
Re: Sending commands to a Telnet Server
by merlyn (Sage) on Nov 19, 2000 at 06:05 UTC
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 ("mush.example.com:8080") or die "Couldn't connect to MUSH: $@"; print $mush "command\n"; my $response = <$mush>;

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://42388]
Approved by root
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (7)
As of 2014-07-13 16:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (250 votes), past polls