http://www.perlmonks.org?node_id=988735


in reply to Re: Looking for pointers or optimizations.
in thread Looking for pointers or optimizations.

"First, you should always explicitly close any filehandle"
...not to mention checking your filenhandle in the first place ;)

open (INP, "<", "$filename") or die "cannot open input file";
Another thing: you use @ARGV in scalar context - I doubt that this is what you want.

I'm too lazy to be proud of being impatient.

Replies are listed 'Best First'.
Re^3: Looking for pointers or optimizations.
by MidLifeXis (Monsignor) on Aug 21, 2012 at 14:28 UTC
    open (INP, "<", "$filename") or die "cannot open input file";

    You may want to

    • not interpolate the variable, just use it as is - why restringify something that you think should already be a string.
    • use lexical file handles - it will allow it to fall out of scope rather than being a global. Forcing yourself to think of the scoping of variables can be good when trying to make your code modular.
    • include the error message in the error response - it will help to debug why the file was not able to be opened. Was it due to too many files being opened, permissions being wrong on the file, the file not existing, sunspots...?

    Update: I see that the OP has done two of the three of these already -- this comment is targeted at the parent post. :-)

    open (my $inputFH, "<", $filename) or die "cannot open input file: $!";

    --MidLifeXis

      Yeah, I asked for it :).
      Thanks.

      I'm too lazy to be proud of being impatient.