#!/usr/bin/perl -w if ( $#ARGV != 0 ) { print "efd v1.0 by d99msr\n"; print "Usage:\n"; print " efd username\n"; exit; } my $user = $ARGV[0]; use HTTP::Request::Common; use LWP::UserAgent; print "Retrieving and parsing load average stats.\n"; my $ua = LWP::UserAgent->new; my $req = GET 'http://www.efd.lth.se/loginload.shtml'; my @raw = split("\n", $ua->request($req)->as_string); my $lowest = 10; my $machine; foreach (@raw) { if ( $_ =~ m/TR.*TD.*TD.*TD.*TD.*TD.*TD.*TD.*TD.*TD.*TD.*TD.*TD.*TR/) { $_ =~ s/\<.*?\>\<.*?\>/\<\>/ig; $_ =~ s/ //g; @split = split("<>", $_); if ( $split[5] < $lowest ) { $lowest = $split[5]; $machine = $split[1]; } } } print "Connecting to $machine, load average: $lowest\n"; my $efdname = "$user\@$machine.efd.lth.se"; exec("ssh $efdname"); exit;