条件をチェックし、警告を出力し、1 行のコードでサブルーチンから戻りたいと考えています。これは機能します(そして、warnは1を返すと思います):
return warn "can't find file" if not -f $input_file;
これを安全に行うことができますか? それとももっと良い方法がありますか?
条件をチェックし、警告を出力し、1 行のコードでサブルーチンから戻りたいと考えています。これは機能します(そして、warnは1を返すと思います):
return warn "can't find file" if not -f $input_file;
これを安全に行うことができますか? それとももっと良い方法がありますか?
これは完全に安全ですが、返される値 (true) を判断するにはソースを調べる必要があり、返される値を制御する読み取り可能なオプションはありません。通常、この状況では Nothing/undef/false を返したいのですが、現在は true を返しているため、これはかなり重要です。
次のすべての代替方法で、返される値を指定できます。
warn("can't find file"), return if !-f $input_file;
(warn "can't find file"), return if !-f $input_file;
if (!-f $input_file) { warn "can't find file"; return }
-f $input_file or warn("can't find file"), return;
-f $input_file or (warn "can't find file"), return;