Mu::Tiny(3pm) | User Contributed Perl Documentation | Mu::Tiny(3pm) |
Mu::Tiny - NAE KING! NAE QUIN! NAE CAPTAIN! WE WILLNAE BE FOOLED AGAIN!
BEGIN { package Feegle; use Mu::Tiny; ro 'name'; lazy plan => sub { 'PLN' }; } my $rob = Feegle->new(name => 'Rob Anybody'); # name is required say $rob->plan; # outputs 'PLN'
This is the aaaabsoluuuute baaaaare minimumimumimum subset o' Mu, for those o' ye who value yer independence over yer sanity. It doesnae trouble wi' anythin' but the read-onlies, for tis a terrible thing to make a feegle try t' write.
my $new = Feegle->new(%attrs|\%attrs);
The new method be inherited from "Mu::Tiny::Object" like a shiny thing or the duties o' a Kelda.
Ye may hand it a hash, or if ye already made yer own hash o' things, a reference to the one so pre-prepared.
An ye forget any o' the attrs declared as "ro", then "new" will go waily waily waily and "croak" with a list of all that ye missed.
ro 'attr';
An "ro" attr be required and read only, and knows nothin' but its own name.
lazy 'attr' => sub { <build default value> };
A "lazy" attr be read only but not required, an' if ye make us, we'll take a guess at what ye wanted, but only when we must.
If'n ye be slightly less lazy than us, then subclass and override yan "_build_attr" method t' change tha guess.
Dinnae fash yersel', Hamish, you prob'ly wanted Mu anyway.
... to Terry Pratchett, Mithaldu, and probably everybody else as well.
mst - Matt S. Trout (cpan:MSTROUT) <mst@shadowcat.co.uk>
None yet - maybe this software is perfect! (ahahahahahahahahaha)
Copyright (c) 2020 the Mu::Tiny "AUTHOR" and "CONTRIBUTORS" as listed above.
This library is free software and may be distributed under the same terms as perl itself.
2022-10-13 | perl v5.34.0 |