in reply to RE: Net::Telnet problem
in thread Net::Telnet problem

This may be a simple IO question, but I have to ask...

Could you give me an example of how you would turn on debugging?
$t->dump_log('temp.txt');

just writes out a blank file for me.

similarly,
$t->dump_log(<STDOUT>);

gives no debugging information.

Replies are listed 'Best First'.
RE: ubernewbie question--- Net::Telnet problem
by btrott (Parson) on Nov 10, 2000 at 12:17 UTC
    Your first sample works for me:
    use Net::Telnet; my $telnet = Net::Telnet->new(Timeout => 10); $telnet->dump_log("dump.log"); $telnet->open("machine"); $telnet->login("user", "oass"); $telnet->close;
    I get a bunch of stuff (the stuff that goes in and out over the telnet connection) in dump.log. Are you actually trying to open a connection? I doubt you'll get anything in your dump_log file if you don't *do anything*. :)

    Oh, and your second snippet is wrong. That's not a filehandle; that's a diamond-operator *read* from a filehandle. STDOUT is the filehandle, <STDOUT> is you reading from the filehandle. You want

    $telnet->dump_log(*STDOUT);
      I should have just posted this in the first place; anyway, this is my weak attempt at automating a mundane Apache test, trying to telnet in to port 80 and doing a HTTP GET. It's probably not what Net::Telnet was meant to do.
      #!/usr/bin/perl -w use strict; use Time::HiRes qw( time tv_interval ); use Net::Telnet (); my $hosts = join ' ', @ARGV; unless ($hosts){ die "Usage: ruffbench <host> [<host2> <host3> ...]\n"; } my $port = '80'; my $t = new Net::Telnet; my $get = "GET / HTTP/1.0\n\n"; my $output; foreach my $host ($hosts) { print "Connecting to $host. Starting timer.\n"; print $t->dump_log(*STDERR); # no debugging is seen! :| my $start = [ time() ]; $t->open(Host=>$host, Port=>$port); print "Connected to $host. Sending request...\n"; print $t->waitfor(String=>"HTTP", Timeout=>5); $t->print($get); print $t->waitfor(String=>"Content-Type", Timeout=>5); my $end = [ time() ]; $t->close; print "Connection closed. Timer stopped.\n\n"; print "Time for simple GET from $host: " . tv_interval($start, $end) . " seconds.\n"; }

      I'm not sure why, but I get no debugging info, even if I swap out *STDERR with, say, "dump.log".

      Humbly,
      Adam