#!/usr/bin/perl use strict; # set up modules for LWP use LWP::UserAgent; use Benchmark; my $start = new Benchmark; my $url = 'http://www.bbc.co.uk'; #set alarm and sleep times my $alarm = 10; my $sleep = $alarm + 10; #set alarm sig local $@; local $SIG{ALRM} = sub {die "TIMEOUT" }; #start the alarm alarm $alarm; #wrap it in an eval eval{ #do the lwp stuff lwp_post($url); #sleep sleep $sleep; }; #reset alarm my $remaining = alarm 0; print "$remaining seconds left\n"; if ($@) {print "Error Occured [$@]\n";} else {print "No Problems\n";} my $end = new Benchmark; my $elapsed = timediff($end,$start); print timestr($elapsed); sub lwp_post{ my $address = shift; my $headers = new HTTP::Headers(Accept => 'text/plain', 'User-Agent' => 'LWP Test/1.0'); my $url = new URI::URL($address); my $request = new HTTP::Request('GET', $url, $headers); my $ua = new LWP::UserAgent; my $response = $ua->request($request); if ($response->is_success) { print "Got page\n"; } else { print "Failed to get page\n"; } }