in reply to Reducing a line read into $_

As well as everything that's been said already, you don't need to use $_ explicitly very often. Usually when you see $_ actually mentioned, you can remove it. You don't need it, for instance in a pattern match or substitution, or as the sole argument to print:
foreach (<LOG>) { if ($_ =~/CRITICAL/) { print $_; }
can just as easily be:
foreach (<LOG>) { if (/CRITICAL/) { print; } }

Beginning perl programmers tend to like to leave $_ in explicitly, so they can see what they're doing, but it's generally better to leave it out and learn to read it implicitly yourself.

Tony