Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Sending commands to a Telnet Server

by wombat (Curate)
on Nov 19, 2000 at 05:58 UTC ( [id://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

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 ("mush.example.com:8080") 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?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
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?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (4)
As of 2024-03-29 15:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found