憧れのDANさんが最近の記事で書いていたんですが

open($fh, '<', "$file") || croak("failed to open: $file: $!");

は || じゃなくてorにしろありました
どうしてでしょうか?
上記のコードは別に||でもうまくいってるみたいなんだけど