One of the things that often holds me back from writing more OO in Perl is not neccesarily the tacked-on nature of it all (which doesn't bother me), but the rather long nature of most constructors. I have written a few OO modules, but I'm still rather new to OO in Perl (but not in other languages).
Two related questions about shortening boilerplate:
(A) Are there any modules that consistantly (emphasis on consistantly) simplify the need to create such boilerplate? CPAN has 8 pages of stuff in the Class:: namespace, and I'm having trouble seperating the wheat and the chaff.
(B) In terms of using named arguments in constructors (which I'm fond of -- especially when dealing with more than 1 or 2 arguments), does anyone see anything wrong with the following code? Note: I know this does not check for required argument types...that's a flaw. Perl/Tk must be doing something slightly different with it's named parameters.
package HeckIfIKnow; sub new { my ($obj,%opts)=@_; return bless {%opts} => (ref $obj || $obj); } ##### Package main: my $foo = HeckIfIKnow::new( -opt1 => '3456', -opt2 => '1234' );
For what it's worth, I really need want Perl6 :)
In reply to Reducing Perl OO boilerplate by flyingmoose
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |