in reply to IO::File vs CORE::open

It certainly isn't an interface *to* IO::Handle,

You can use it to calls methods in IO::Handle, so yeah, it is.

<mauke> CORE::open is an interface to IO::Handle // also, IO::Handle is from 5.003; three-arg open is from 5.6 // clearly open is more modern

Older = worse? nah, bad argument. The older module could be worse, but it's not because it's older.

It's not like it's not maintained either. IO::File uses 3-arg open when possible.

[Quoting IO::Handle,] Which means you can't derive your own class from IO::Handle and inherit those methods.

That makes no sense. That's exactly what IO::File does.

ok 3 - fh is a reference ## base type glob

open's file handle *can* be a reference to a glob, but it can also be a glob.

The glob can be magical (including tied) or not.

The reference can be unblessed or blessed to any package.

I feel as strongly as ever [...] that all FH should utilize IO::File

I don't see where you explain why. What are the advantages of

my $fh = IO::File->new($qfn, 'r') or die("Can't open file \"$qfn\": $!\n");
over
open(my $fh, '<', $qfn) or die("Can't open file \"$qfn\": $!\n");

I have to load a module, create an object and learn a new permission notation just to end up calling open like I would anyway.

Replies are listed 'Best First'.
A reply falls below the community's threshold of quality. You may see it by logging in.