open(FW_LOG, $firewall_log) or die "$firewall_log open() failed: $!"; open(MYNEWFILE, ">>$my_new_log") or die "$my_new_log open() failed: $!"; while ($line = ) { if ($line =~ /kernel Temporarily blocking host/ || $line =~ /blocked/) { # your line transformations would go here... print MYNEWFILE $line; } } close(FW_LOG) or die "$firewall_log close() failed: $!"; close(MYNEWFILE) or die "$my_new_log close() failed: $!";