my $last; while (defined($_ = next())) { if (!defined($last) || different($_, $last)) { new_group(); $last = $_; } else { same_group(); } }