>  open or die; とか
>  Sub() if ($_); のような左に目的が来る形式がいい気がしたんだ。

処理は左から流れていくもの
例 echo 'hello' | sed 's/h/H/' > out.txt

だからopen or die はいいが
foo() if $cond ってのはあまり良くない。

右の条件にあったものを、左で実行するから流れが逆になっている。

行全体が短い(コードが条件+実行ではなく、ひとかたまりの処理として見える)のなら
後置のifでもいいが、長いならやめた方がいい。