#!/usr/bin/perl use DBI; use DBD::SQLite; use strict; use warnings; my $dbname = 'upman.db'; my $dbh; open_db(); process_files(1); process_files(); exit; sub process_files { my $limit = shift; my $sql = "SELECT * FROM files"; if ($limit){$sql = $sql . " limit $limit";} my $sth = $dbh->prepare($sql) or die $dbh->errstr; $sth->execute() or die $dbh->errstr; while(my $row = $sth->fetchrow_hashref()){ my $sql = "UPDATE files SET uploadrc='x' " . "WHERE locname='" . $row->{locname} . "'"; my $sth = $dbh->prepare($sql) or die $dbh->errstr; $sth->execute() or die $dbh->errstr; } } sub open_db{ $dbh = DBI->connect("dbi:SQLite:dbname=$dbname") or die $DBI::errstr; while(){ $dbh->do($_) or die $dbh->errstr; } $dbh->trace(1); } __DATA__ DROP TABLE files; CREATE TABLE files (locname primary key, size, uploadrc, rmtname); INSERT INTO files VALUES('dat/19980820/ACCT3445',1451,NULL,'D980820.XACCT3445'); INSERT INTO files VALUES('dat/19980820/ACCT3470',5961,NULL,'D980820.XACCT3470'); INSERT INTO files VALUES('dat/19980820/ACH0232',37723,NULL,'D980820.XACH0232'); INSERT INTO files VALUES('dat/19980820/ACH4498',5612,NULL,'D980820.XACH4498ACH'); INSERT INTO files VALUES('dat/19980821/TD7605G',181755,NULL,'D980821.XTD7605GL'); INSERT INTO files VALUES('dat/19980821/TD7695ReportLegend',3389,NULL,'D980821.XTD7695'); CREATE UNIQUE INDEX rmtname ON files(rmtname);