Thanks for the write-up, it's very useful. The first para can be read to imply that the not-so-good options are currently best practices.
You will see styles of open such as "open FILE, $filename;" or "open(LOG, ">$filename") || die "Could not open $filename";" in many places. These mainly come from versions of Perl before 5.6.0 (released in 2000), because that version of Perl introduced lexical filehandles and the three-argument open. Since then, they have become a best practice, for the reasons below.
Perhaps reword "they have become best practice" to something like "the three argument open has become a best practice".