#!/usr/bin/perl use warnings; use strict; open my $IN, '<', 'input.txt' or die "Can't open 'input.txt' $!"; open my $FILE, '>', 'output.txt' or die "Can't open 'output.txt' $!"; my $previous = -1; my @data; while ( <$IN> ) { my ( $n, $p ) = split; no warnings qw/ numeric uninitialized /; if ( $n == $previous + 1 ) { push @data, $p } else { print $FILE "$data[0]\t$data[-1]\t", scalar @data, "\n" if @data > 1; @data = $p; } $previous = $n; } __END__