Take it piecewise. The part inside the brackets is $file or die "...". That will die if $file is zero or an empty string, or otherwise false.
Then the result gets given to the open function. open "filename"; doesn't make any sense.
See open, and use something more like open my $inputFileHandle, '<', $filename or die "can't open $filename for reading: $!\n";
In reply to Re^9: Use of uninitialized value in string eq
by SuicideJunkie
in thread Use of uninitialized value in string eq
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |