open(IN, $ifile); open(UNQ, $ufile); open(DUP, $dupfile); my %seen; while () { if ( exists( $seen{$_} )) { print DUP "$_\n"; } else { $seen{$_}++; print UNQ "$_\n"; } } close(IN); close(UNQ); close(DUP);