Bobby wrote: > > I have a flat file that contains a pid, us_size and euro_size. I want to > create read in the file and create one hash for the us_size (%US) and the > other for the euro_size (%EURO). Then i want to do a print statement if the > pid value in the us_size hash is equal to pid value in the euro_size > hash...maybe IF ($US{$pid} = $EURO{$pid}) {print statement...}. > > The part where i'm stuck on is how to assign the data into a hash and do the > comparison, could one of you help me with the Perl's syntax or point in the > right direction? > > pid|us_size|euro_size > 1|10|34 > 2|11|35 > 3|12|37 > 4|13|
Another question that skips the /problem/! Are you aware that you can store multiple values - even another hash or array - as the value of a hash element? At a guess, you need to be able to access a US and EU size for a given PID, and I would write a loop like this my %pidsizes; while (<DATA>) { chomp; my ($pid, $us, $eu) = split /\|/; $pidsizes{$pid}{US} = $us; $pidsizes{$pid}{EU} = $eu; } Does that help? Are the PIDs in your file unique? Is the missing Euro size for PID 4 a mistake or a special case? Rob -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/