Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • This "feature" is simply an artifact of how Moose must build classes (incrementally as each "keyword" is executed). There is also nothing (but common sense) to stop you from doing:

    package Foo;
    use Moose;
    extends 'Bar';
    extends 'Baz';

    Of course this behavior might be suprising to base.pm users who are used to having things pushed onto @ISA instead of @ISA being replaced.

    While I would not recommend multiple with statements in general, it is handy sometimes (as you pointed out in your post), so in the spirit of TIMTOWTDI it will almost certainly stay as a "feature" even after we fix the incremental-class-building "issue".

    - Stevan

    • I also am not sure that I would advocate removing this feature. I've not found a use case for it, though, and there are huge potential downsides. That being said, I'm loathe to change the interface of working, widely used software, so I agree with your conservative approach :)