I wouldn't call the code you posted a simplification. It is shorter, yes. But it is definitely not simple.
Even the most experienced Perl hacker would have a hard time understanding it without ever having looked at the Moose documentation before. The code posted by the OP (and my little exercise) on the other hand, should be understandable even to Perl beginners who just skimmed over the Camel book.
Just to prove my point: Can you tell me, without looking at the Moose documentation, what the ArrayRef accessors return in list context? A single array reference? Or the content of the associated array-typed attribute? And if they return an array reference, is that reference a reference to the actual attribute slot or just a reference to a copy of it? And what about scalar context?
Please don't get me wrong. I have nothing against Moose. I just don't think it should be the starting point for Perl beginners.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||