~/www/Lesson7b/surl.pl.html #!/usr/bin/perl -w
# surl - sort URLs by their last modification date

use strict;
use LWP::UserAgent;
use HTTP::Request;
use URI::URL qw(url);

my($url, %Date);
my $ua = LWP::UserAgent->new();


while ($url = url(<>)) {
    my $ans;
    next unless $url->scheme =~ /^(file|https?)$/;
    $ans = $ua->request(HTTP::Request->new("HEAD", $url));
    if ($ans->is_success) {
        $Date{$url} = $ans->last_modified || 0;  # unknown
    } else {
        print STDERR "$url: Error [", $ans->code, "] ", $ans->message, "!\n";
    }
}

foreach $url ( sort { $Date{$b} <=> $Date{$a} } keys %Date ) {
  if($Date{$url}){
    my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($Date{$url});
    $year+=1900;
    print "$mday/$mon/$year\t$url\n";
  } else {
    print "<NONE SPECIFIED>\t$url\n";
  }
}