in reply to Reaped: Open a directory and recursively process files

Neither, it is my $line = @_; that is the problem. An array assigned to a scalar gives the number of elements in the array.

What you should do is either the assignment you weren't sure about (but aren't actually using):my $line = $_[0];

Or, a list assignment: my( $line ) = @_;

Or, use shift:my $line = shift;

You should also drop the & from your subroutine calls. Ie. &process_file ($file); should be process_file( $file );

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.