in reply to Strange IO::All constructor behavior?

"... so I don't know if it should even work."

According to the docs it should:

"There are three ways to create a new IO::All object. The first is with the special function io which really just calls IO::All->new. The second is by calling new as a class method. The third is calling new as an object instance method. In this final case, the new objects attributes are copied from the instance object."
io(file-descriptor); IO::All->new(file-descriptor); $io->new(file-descriptor);
"If no file descriptor is provided, an object will still be created, but it must be defined by one of the following methods before it can be used for I/O:"
io->file("path/to/my/file.txt");
"Using the file method sets the type of the object to file and sets the pathname of the file if provided."
io->dir($dir_name);
"Make the object be of type directory."

This works as described for file but not for dir - as described in the OP.

I think, i should ask the author.

Thank you and best regards, Karl

«The Crux of the Biscuit is the Apostrophe»