#!perl -w # Please see http://www.lowtek.com/blog/ for more info about this script. my %inodes; my %sizes; my %mtimes; my $iterations = 200; for (my $i = 0; $i < $iterations; $i++) { open (HEAD, "head http://www.digg.com/img/comment-1.png |") or die ("Could not run HEAD, $!"); while () { if ($_ =~ m/^ETag:\s*(.*)$/) { my $etag = $1; print "$etag\n"; if ($etag =~ m/"([0-9a-f]+)-([0-9a-f]+)-([0-9a-f]+)"/i) { my $inode = $1; my $size = $2; my $mtime = $3; $inodes{$inode}++; $sizes{$size}++; $mtimes{$mtime}++; } else { die ("Bad etag: $etag"); } } } close (HEAD); # Pause a little so we don't hammer the server. sleep (1); } print "INODES:\n\n"; &show_histogram(\%inodes); print "\n"; print "SIZES:\n\n"; &show_histogram(\%sizes); print "\n"; print "MTIMES:\n\n"; &show_histogram(\%mtimes); print "\n"; sub show_histogram { my ($histogram) = @_; foreach my $key (keys(%$histogram)) { print "$key = $$histogram{$key}\n"; } }