Innate skill and experience, but mostly experience. As with most things the more you do, and the greater the variety, the better you get (probably).
It's largely to do with building up tool sets. As you become more experienced you have more past solutions (experience / tools) that you can bring to bear on the current problem and better understanding of the different trade offs each possible solution may entail.
Since you have already discovered PerlMonks you are already in a good position to gain useful experience: delve into the Seekers of Perl Wisdom archives and try your hand at solving the various problems presented there. When you feel confident, contribute answers of your own to current questions. This is an excellent place to gain experience at almost any level!
True laziness is hard work
Are you posting in the right place? Check out Where do I post X? to know for sure.
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
Want more info? How to link or
or How to display code and escape characters
are good places to start.