Try this and hope this would help more.... *Code not tested* Suppose data in cancel.txt : 123456|X 234567|X
Suppose data in falldata.tmp : 028076|Blood|Sept 18|Sat|San Francisco|028086.html|1|275|0|| 123456|Quake|Sept 19|Sun|Home|028087.html|1|275|0|| 234567|Doom|Sept 20|Mon|Page Up|028088.html|1|275|0|| 345678|Neverhood|Sept 21|Tue|Ctrl-C|028089.html|1|275|0|| #Code use strict; my @cancel ; open C, "cancel.txt" or die "$!"; while (<C>) { my ( $code, $waste ) = split /\|/, $_ ; push @cancel , $code } close C; my %course ; open F, "falldata.tmp" or die "$!"; while (<F>) { chomp ; my @detail = split /\|/, $_; my $code = shift @detail; $course{$code} = [EMAIL PROTECTED] } close F; for my $code (keys %course) { $course{$code}[8] = "C" if ( grep /$code/, @cancel ) ; my $status = $course{$code}[8] ? "CANCELED" : "OKAY"; print "\n\n --- $status -------- \n"; print "$_ : $course{$code}[$_] \n" for (0..8) } HTH, Bee ----- Original Message ----- From: <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, October 06, 2004 4:32 AM Subject: newbie stuck in a HOA > Hi all, > > I have a flatfile database (falldata.tmp) that contains information about > all the courses offered > this includes: course number, course title, start date, day of week, > location, html link, section number, fee1, fee2, and status. > > I have another file (cancel.txt) which contains a list of the courses that > are canceled. > > What I want to do is change the status to "C" in the flatfile database, if > it is in the cancel file. > > The problem I'm having is that > I'm getting duplicate results and also incorrect results as the code isn't > distinguishing between a canceled class and one that's not. > > > Any ideas on where I'm going wrong. > Thanks in advance, > Pam > > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>