#!/usr/bin/env perl -l use strict; use warnings; my %good; while () { my ($id, $flag) = split; next unless $id; ++$good{$id}[$flag]; } for (keys %good) { print if $good{$_}[1] && $good{$_}[3]; } __DATA__ 3-2000/7.48 1 3-2000/7.48 2 3-2000/7.48 2 3-2000/7.48 2 3-2000/7.48 2 3-2000/7.48 2 3-2000/7.48 2 3-2000/7.48 3 4-0000/8.40 2 4-0000/8.40 2 4-0000/8.40 2 4-0000/8.40 2 4-0000/8.40 2 4-0000/8.40 2 4-0000/8.40 3