#!/usr/bin/perl -w # Print http results on single line per each url # Example: # http://abc.com 200 200 404 200 ... # http://sss.edu 500 200 200 500 ... use strict; my $fn = "http_responses_per_url.txt"; # Build list of dates my %dates; open(FILE, $fn) || die("Can't open $fn: $!\n"); my $line = ; # ignore first line (header) while ($line = ) { chomp($line); my ($date, $url, $code) = split(/\t/, $line); $dates{$date} = 1; } close FILE; # Build hash or hashes my %seen; open(FILE, $fn) || die("Can't open $fn: $!\n"); $line = ; # ignore first line while ($line = ) { chomp($line); my ($date, $url, $code) = split(/\t/, $line); $seen{$url}{$date} = $code; } close FILE; # Print list print "\t"; # for url foreach my $date (sort keys (%dates)) { print "$date\t"; } print "\n"; foreach my $url (sort keys %seen) { print "$url\t"; foreach my $date (sort keys (%dates)) { my $code = $seen{$url}{$date}; if (defined $code) { print "$code\t"; } else { print "N/A\t"; } } print "\n"; }