#!/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 [ ...]\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"; }