use strict; use warnings; my ($last, @window, $incs, $incs2); while (<>) { $incs++ if ($last && $_ > $last); $last = $_; if (scalar @window == 3) { my $prev = $window[0] + $window[1] + $window[2]; my $next = $window[1] + $window[2] + $_; $incs2++ if ($next > $prev); shift @window; } push @window, $_; } print "$incs\n$incs2\n";