my %seen1; ++$seen1{$_} while <$fh_in1>; my %seen2; ++$seen2{$_} while <$fh_in2>; print $fh_out1 grep !$seen2{$_}, keys %seen1; print $fh_out2 grep !$seen1{$_}, keys %seen2;