Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re: declaration order of attributes in Moose

by kyle (Abbot)
on Apr 13, 2009 at 21:10 UTC ( #757279=note: print w/replies, xml ) Need Help??

in reply to declaration order of attributes in Moose

Your hacky way of getting what you want doesn't work with the Moose I'm using (0.51). Here I can get a list of slots this way:

my @atts = $h->meta->get_meta_instance->get_all_slots;

That gives the list in no particular order, however.

Looking at the object with Data::Dumper, I don't see any place that stores an ordered list of attributes. I suspect that your "working" code is working by coincidence. Try it with this package:

package Hubba; use Moose; foreach my $name ( 'a' .. 'z' ) { has $name => ( is => 'rw' ); }

I think the only way you're going to get what you want is to look into Moose's definition of has and patch it so that it tracks the information you want to have.

You've asked us not to question your motives here, so I won't, but any code that requires this information probably has a design problem of some kind. I recommend finding another solution to whatever your real problem is.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://757279]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (10)
As of 2017-12-16 17:19 GMT
Find Nodes?
    Voting Booth?
    What programming language do you hate the most?

    Results (457 votes). Check out past polls.