#!/usr/bin/perl -w # Count availability based on home pages, use # of ports, and dynamically generated pages use strict; my $fn1 = "available_urls_on_2005-02-27.txt"; my $fn2 = "unavailable_urls_on_2005-02-27.txt"; my @types = qw(php port qs static); my %types; open(URLS, $fn1) || die("Can't open $fn1: $!"); my @lines = ; close URLS; count_types(); my %avail_types = %types; open(URLS, $fn2) || die("Can't open $fn2: $!"); @lines = ; close URLS; %types = (); count_types(); my %unavail_types = %types; # Print table # type php port query str static # gone urls 75 240 411 # found urls 805 556 884 # total urls 880 796 1295 print "\tPersonal Home Pages\tPort\tDynamic Pages\tStatic Pages\n"; print "Accessible\t"; foreach my $type (@types) { print $avail_types{$type} . "\t"; } print "\nInaccessible\t"; foreach my $type (@types) { print $unavail_types{$type} . "\t"; } print "\nTotal URLs\t"; foreach my $type (@types) { my $total = $avail_types{$type} + $unavail_types{$type}; print "$total\t"; } print "\n"; ##################################################################### sub count_types { foreach my $line (@lines) { chomp($line); my $url = $line; # see if url has a /~ if ($url =~ m|\/~.+/|) { #print "Personal HP: $url\n"; $types{php}++; } # see if url has a query string if ($url =~ m|\?.+|) { #print "Dynamic page: $url\n"; $types{qs}++; } else { $types{static}++; } # see if url uses a port if ($url =~ m|^.+:\d+/|) { #print "Port: $url\n"; $types{port}++; } #print "$top\t$line\n"; } }