How to make perl throw an error for invalid or nonexistent files? -
using perl -p or -n flags or diamond operator on non-existent files not exit error:
$ perl -pe '' badfile || echo error can't open badfile: no such file or directory. $ $ perl -ne '' badfile || echo error can't open badfile: no such file or directory. $ $ perl -e 'print while <>' badfile || echo error can't open badfile: no such file or directory @ -e line 1. $
how can force perl throw error, not warning, when given bad file?
use local $sig{__warn__} = sub { die @_ };
set warning handler throw error.
$ # put handler code in begin block -p , -n: $ perl -pe 'begin{$sig{__warn__}=sub{die @_}}' badfile || echo error can't open badfile: no such file or directory. error $ $ perl -ne 'begin{$sig{__warn__}=sub{die @_}}' badfile || echo error can't open badfile: no such file or directory. error $ $ perl -e '$sig{__warn__}=sub{die @_}; print while <>;' badfile || echo error can't open badfile: no such file or directory @ -e line 1. error $
Comments
Post a Comment