MooX::PDL2 This class provides the thinnest possible layer required to create a Moo object which is recognized by PDL. PDL will treat a non-PDL blessed hash as a PDL object if it has a hash element with a key of "PDL". That element may be a "PDL" piddle or a *subroutine* which returns a piddle. This class provides a "PDL" method (which must not be overridden!) which returns the contents of the "_PDL" attribute. That attribute is yours to manipulate. Classes without required constructor parameters PDL does not pass any parameters to a class' initialize method when constructing a new object. Because of this, the default implementation of MooX::PDL2::initialize() returns a bare piddle, not an instance of MooX::PDL2, as it cannot know whether your class requires parameters during construction. If your class does *not* require parameters be passed to the constructor, it is safe to overload the "initialize" method to return a fully fledged instance of your class: sub initialize { shift->new() } Overloaded operators PDL overloads a number of the standard Perl operators. For the most part it does this using subroutines rather than methods, which makes it difficult to manipulate them. Consider using overload::reify to wrap the overloads in methods, e.g.: package MyPDL; use Moo; extends 'MooX::PDL2'; use overload::reify; INSTALLATION This is a Perl module distribution. It should be installed with whichever tool you use to manage your installation of Perl, e.g. any of cpanm . cpan . cpanp -i . Consult http://www.cpan.org/modules/INSTALL.html for further instruction. Should you wish to install this module manually, the procedure is perl Build.PL ./Build ./Build test ./Build install COPYRIGHT AND LICENSE This software is Copyright (c) 2017 by Smithsonian Astrophysical Observatory. This is free software, licensed under: The GNU General Public License, Version 3, June 2007