#! perl -sw use strict; my $pos = tell DATA; my %tally; ++$tally{ $_ } for map split( '&' ), ; my $lines = $.; seek DATA, $pos, 0; print join '&', grep{ $tally{ $_ } != $lines } split '&' while __DATA__ a=1&b=1&c=1&d=2&e=&f=3 a=1&b=2&c=3&d=2&e=&f=4 a=1&b=2&c=5&d=1&e=&f=5