in reply to Checking status of implicit open (diamond operator)

AFAIK while(<>) already does that. Observe:
> perl -nple1 non-existing Can't open non-existing: No such file or directory. > perl -nple1 unreadable.txt Can't open test.txt: Permission denied.
update: actually, it appears to just skip processing the file (giving the warning), instead of abort, so you still need a SIG{__WARN__} or use warnings FATAL => all to catch it.