Doing things without a lot of dependencies isn't necessarily "doing things the hard way".  I lean heavily on the core packages, and use CPAN modules for virtually anything non-trivial, as I don't have time for a lot of unnecessary wheel-inventing.  However, as I said, I don't always have the luxury of assuming the resources I'll have available, outside of Perl itself and some indispensible BASH/Linux utilities.  Some machines I have control over, and can install what I please; others I have much more sharply limited control over, and cannot, for example, even assume that the CPAN kit is complete enough to build everything -- without a few specific packages or external tools, e.g. the YAML library, make, I've seen CPAN fail spectacularly to install what I needed.<br>
<br>And again I'll say, Moose, nice as it is, is overkill for much of what I write; most of my scripts will already be most of the way finished running, as currently written, by the time Moose loads.<br><br>I'll keep Pinto in mind because it may be useful for situations in which I have sufficient control to use it.<br>
<br>Honestly, I was generally praising Moose as a good thing, but a little heavy for some things, and just stating a fact about the situation I have to work with; I'm not sure why you chose me to make an example of.<br>
<br>I feel like the Perl community is becoming pretty damned opinionated; in my view TMTOWTDI does not just mean that there's a "right" way and a "wrong" way (that kind of binary thinking is for other language communities).<br>
<br><div class="gmail_quote">On Tue, Apr 10, 2012 at 9:59 PM, Jeffrey Thalhammer <span dir="ltr"><<a href="mailto:jeff@imaginative-software.com">jeff@imaginative-software.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><br><div><div>On Apr 10, 2012, at 4:19 PM, Jeff Bragg wrote:</div><br><blockquote type="cite"><span style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:-webkit-auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-size:medium">I've used Moose, and found it to be very nice, especially in comparison to old-school Perl OO.  However, it usually seems like overkill for my purposes (and perhaps a violation of the KISS principle).  I'm sure it has a lot to do with context; I'm generally doing systemsy, back-end stuff, and prefer to minimize my dependencies and assumptions about deployment environment.</span></blockquote>
<br></div><div>Then please allow me to use this opportunity to make a shameless plug for <a href="https://metacpan.org/module/Pinto" target="_blank">Pinto</a>.</div><div><br></div><div>IMHO, dependency avoidance is a weak excuse for doing things the hard way (and usually the wrong way).  But installing stuff from the public CPAN is a lottery because you never know exactly which versions you are going to get.  And if you want to lock down those versions with a private CPAN, it is a fair bit of work to manage.  So dependency-phobia lives on.</div>
<div><br></div><div><a href="https://metacpan.org/module/Pinto" target="_blank">Pinto</a> aims to fix all that.  Pinto makes it super easy to construct a custom repository of CPAN distributions (including your own private ones) and organically evolve your dependencies over time.  So now all that "systemsy back-end stuff" can leverage anything and everything on CPAN, and you've got a solid, reproducible mechanism for building, testing, and deploying it.</div>
<br><div>-Jeff</div></div></blockquote></div><br>