Keep imports and functions out of your namespace
When you define a function, or import one, into a Perl package, it will naturally also be available as a method. This does not per se cause problems, but it can complicate subclassing and, for example, plugin classes that are included via multiple inheritance by loading them as base classes. The "namespace::clean" pragma will remove all previously declared or imported symbols at the end of the current package's compile cycle. Functions called in the package itself will still be bound by their name, but they won't show up as methods on your class or instances.
$
pkg install p5-namespace-cleanOrigin
devel/p5-namespace-clean
Size
26.2KiB
License
ART10, GPLv1+
Maintainer
perl@FreeBSD.org
Dependencies
3 packages
Required by
87 packages
Dependencies (3)
Required By (87)
p5-AnyEvent-RabbitMQp5-AnyEvent-Subprocessp5-App-Genpassp5-App-Nopastep5-Authen-SCRAMp5-BSONp5-Bot-Trainingp5-CGI-Cookie-Splitterp5-Catalyst-Controller-ActionRolep5-Catalyst-Develp5-Catalyst-Model-DBIC-Schemap5-Catalyst-Plugin-Sessionp5-Catalyst-Plugin-Session-State-URIp5-Catalyst-Plugin-Session-Store-Memcachedp5-Catalyst-Runtimep5-CatalystX-AppBuilderp5-CatalystX-VirtualComponentsp5-Compress-LZWp5-Crypt-Random-Sourcep5-DBIx-Classp5-DBIx-Class-Helpersp5-DBIx-Class-InflateColumn-Serializerp5-DBIx-Class-Schema-Loaderp5-Dancer2-Plugin-Auth-Extensiblep5-Dancer2-Plugin-Auth-Extensible-Provider-DBICp5-Dancer2-Plugin-FormValidatorp5-Dancer2-Session-DBICp5-Data-Stream-Bulkp5-Data-Visitorp5-Devel-PartialDump+ 57 more