my $buffer; open (INPF,") { m/^(\w+)\s+(\d+)\s+(\w+)(.*)$/ or die "Unable to match any lines:$!\n"; if ($2 < 90) { $buffer .= "$1$2$3$4\n"; } elsif ($2 < 180) { $buffer .= "$1$2$3$4\n"; } else { $buffer .= "$1$2$3$4\n"; } } close INPF;