#!/usr/bin/perl -w =pod =head1 NAME chronicles.pl - check references between chronicles and db =head1 SYNOPSIS chronicles.pl I =head1 DESCRIPTION Check the references between database and chronicles. =head1 BUGS The database, user and password are hardcoded. =head1 AUTHOR Boris Veytsman =head1 $Id: chronicles.pl,v 1.3 2003/03/17 15:47:22 boris Exp $ =cut use strict; use DBI; # Creating hash dbtochronicles; my($dbh) = DBI->connect("DBI:mysql:chgk", "piataev", "") or die "Can't connect to DB chgk\n"; my %dbtochronicles; my $sth=$dbh->prepare("SELECT FileName,URL from Tournaments where Type='þ' and not isnull(URL)"); $sth->execute; while (my ($name,$url) = $sth->fetchrow_array) { $dbtochronicles{$name}=$url; } # Checking chronicles if (! -d $ARGV[0]) { die "Cannot read $ARGV[0]"; } chdir $ARGV[0] || die "Cannot chdir to $ARGV[0]: $!"; opendir (DIR, ".") || die "Cannot open $ARGV[0]: $!"; while (my $file=readdir(DIR)) { if (-f $file && $file =~ /html$/) { open (FILE, $file); while () { chomp; if (/znatoki\/cgi-bin\/db.cgi\?tour=([^\"]*)\"/) { my $name="$1.txt"; if (!exists($dbtochronicles{$name}) || $dbtochronicles{$name} !~ /$file$/) { print "$file -> $name\n"; } else { delete($dbtochronicles{$name}); } } } close FILE; } } closedir DIR; foreach my $name (keys %dbtochronicles) { if ($name =~ /boris/) { print "$name -> $dbtochronicles{$name}\n"; } } exit 0;