note
dimar
<p>No sweat. I just followed up to address the issue to the OP (specifically, the OP's concern that inter-component changes in MVC must somehow be a hassle).</p><p>I must admit, however, I was a little surprised that you did not define Model to look something more like:</p>
<code>
my $data = [
{type=>'fruit',food='apple'},
{type=>'veggies',food='carrot'},
{type=>'meat',food='bacon'},
];
</code>
or
<code>
my $data = [
[qw(fruit apple)],
[qw(veggies carrot)],
];
</code>
<p>This is the approach I tend to use most often (with obvious anticipation that "M" will be eventually migrated to a database). I almost always use AoH in fact.</p>
<blockquote>
Yours breaks the MVC separation because the Controller now needs to know that the Model stores its data in a hash ...
</blockquote>
<p>Perhaps, although I don't think it necessarily 'breaks' the pattern to introduce simplifying assumptions about M (especially in tutorial-type code examples like here). Unless your MVC framework always uses reflection, or a sufficiently expressive and universally disambiguating syntax, your V and your C are going to have to know at least *something* about your M.</p>
<p>Anyway, I just figured you were trying to save some typing ... (which is why I didn't even bother to give a code example at all in my first response ;-).</p>
<br />
<!-- Node text goes above. Div tags should contain sig only -->
<div class="pmsig"><div class="pmsig-347753">
<font size="-2">
=oQDlNWYsBHI5JXZ2VGIulGIlJXYgQkUPxEIlhGdgY2bgMXZ5VGIlhGV
</font>
</div></div>
520881
521306