Oh sorry what I meant is actually:
has 'friends' => { is => 'rw', isa => 'Array', default => () };Anyway the reason I said the latter syntax makes more sense is because I saw the latter syntax more often. For example In https://metacpan.org/pod/HTML::Template#TMPL_LOOP:
$template->param( EMPLOYEE_INFO => [{name => 'Sam', job => 'programmer'}, {name => ' +Steve', job => 'soda jerk'}] ); print $template->output();
This code uses reference(array) because of clarity and I think most subroutines uses this syntax.
However this line
has 'friends' => ( is => 'rw', isa => 'Array', default => () );
is same as:
has 'friends',is => 'rw', isa => 'Array', default => ();
which is not clear and as for me that looks just weird.
But when using reference, you don't have to use awkward arrow between 'friends' and 'is'
Of course, not using reference parameter saves some typing but that saves typing of Moose's author, not of us. And using reference is also not a big deal.Clarity is more important
In reply to Re^4: Perl Moose syntax
by Anonymous Monk
in thread Perl Moose syntax
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |