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>