John,
unix,
sub Update_db {
$main_db = $_[0];
$tmp_db = $_[1];
$update = $_[2];
open IN, "<$main_db" or print "Can't open $main_db: $!\n";
flock( IN, LOCK_EX ) or print "Unable to acquire lock: $!. Aborting";
open OUT, ">$tmp_db" or print "Can't open temporary file $tmp_db: $!\n";
flock( OUT, LOCK_EX ) or print "Unable to acquire lock: $!. Aborting";
while ( <IN> ) {
($name, $team, $location)= split(/\|/, $_);
next unless $name eq $update;
$new_location = "palm_bay";
$_ = join( "|", $name, $team, $new_location);
}
continue {
print OUT $_ or print "Error writing $tmp_db: $!\n";
}
close IN;
close OUT;
unlink $main_db;
rename $tmp_db, $main_db or print "Can't rename '$tmp_db' to '$main_db':
$!\n";
}
-----Original Message-----
From: John W. Krahn [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, July 17, 2002 8:11 PM
To: [EMAIL PROTECTED]
Subject: Re: Flat File Db
Jeff wrote:
>
> I'm use flat files to manage a list containing approx 25,000 records. For
> updates, I write to a temp file then unlink main and rename temp file to
> main. I use flock for both temp and main files during update. My main
file
> gets blown away on occasions. What gives? I can't figure out why this
> happens. Thanks for any help!
OS? code?
John
--
use Perl;
program
fulfillment
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]