in reply to Why is the error thrown from close(FH) when the error is the missing <> on while(FH)?
Given the the file handle is actually is, error is coming from the condition for while ...
# cat p.pl ; perl p.pl
open FH , '<' , $0 or die "open failed: $!";
while( FH )
close FH or die "close failed: $!";
Bareword "FH" not allowed while "strict subs" in use at p.pl line 11.
Execution of p.pl aborted due to compilation errors
... despite the line number reported. open & close can deal with a bareword file handle but not loop condition.