Subject: | Remove namespace::clean dependency and usage |
The "namespace::clean" usage has only a single effect, which is to remove the "subname" method:
These symbols exist when "namespace::clean" is used and omitted, respectively:
BEGIN, VERSION, __ANON__, _bind_to, _connect_to, _drained, _error, _insert, _on_addr, _push_writer, _send, autoflush, bind_to, clear_rtimeout, clear_timeout, clear_wtimeout, connect_to, destroy, fh, new, on_drain, on_error, on_recv, on_rtimeout, on_timeout, on_wtimeout, peername, push_send, receive_size, rtimeout, rtimeout_reset, sockname, timeout, timeout_reset, wtimeout, wtimeout_reset, __NAMESPACE_CLEAN_STORAGE
BEGIN, VERSION, __ANON__, _bind_to, _connect_to, _drained, _error, _insert, _on_addr, _push_writer, _send, autoflush, bind_to, clear_rtimeout, clear_timeout, clear_wtimeout, connect_to, destroy, fh, new, on_drain, on_error, on_recv, on_rtimeout, on_timeout, on_wtimeout, peername, push_send, receive_size, rtimeout, rtimeout_reset, sockname, timeout, timeout_reset, wtimeout, wtimeout_reset, subname
Why not rename "subname" to "_subname" like the internal "_insert" function, and remove the "namespace::clean" runtime/dependency overhead?
You can do `delete ((__PACKAGE__."::")->{subname})` at the end of the module, just before "1;", if you really want to stop the symbol from being exposed.