Yes you can do it with perl, and I suggest using hashes.
open(FILE, "$file");
my %seen;
while(<FILE>){
my ($item9, $item10) = (split /\|/, $_)[8,9];
if(exists $seen{$item9}){
if($itme10 > $seen{$item9}){
# the new $item10 is larger than the last one seen
} else {
# the contrary is true
}
} else {
$seen{$item9} = $itme10;
}
close FILE;
-----Original Message-----
From: Dave Adams [mailto:[EMAIL PROTECTED]]
Sent: Monday, March 04, 2002 10:10 AM
To: [EMAIL PROTECTED]
Subject: Can I do this with perl?
Hi there,
I have a problem which I would like to use perl to resolve, however I'm not
sure if it is possible to do.
I need to scan a file and check some conditions, first if field 9 is
duplicated on 1 or more rows, then I need to check field 10 to see which is
the greater value and then only print the whole row where field 10 is the
greater, if field 9 is not a duplicate then print the whole row.
An example of the data is below.
28525|U2|4CY0|50|6775.15|2002-02-07|10461|321.43|102040724|102040773|
28526|U2|4CY0|25|3571.78|2002-02-07|6107|167.74|102040774|102040798|
28527|U2|4CY0|50|6930.3|2002-02-07|11376|324.12|102040774|102040823|
28528|U2|4CY0|25|4640.28|2002-02-07|4800|217.43|102040824|102040848|
28529|U2|4CY0|50|8432.05|2002-02-07|9023|392.03|102040824|102040873|
Dave
----------------------------------------------------------------------------
--------------------
The views and opinions expressed in this email message are the sender's
own, and do not necessarily represent the views and opinions of Summit
Systems Inc.
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]