id_2obj returns undef when I try open with a glob or a bareword rather than a scalar, id_obj($_) // $_ fixed that.
I don't get the point of using Hash::Util::FieldHash and id_2obj though, since creating the anonymous returned by get_fds will only keep the stringified version of the object. Not having a Hash::Util::FieldHash hash, and not calling id_2obj gives the same result.
I thought it would be a good idea to do all the work (fill the hash) in $open and $close, and then goto those functions rather than call them, to remove the extra stack entry. This would have made your module transparent when using autodie and a verbose Carp (autodie croaks). But your $open and $close subs are bypassed anywhere autodie is on. It does work again when lexically disabling autodie with no autodie;
In reply to Re: Track open file handles
by Eily
in thread Track open file handles
by shmem
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |