Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
"Have I got it right?". All the while I'm coding I'm asking myself this question, and I'm not getting the answer I want to hear. My programs work, sometimes even for more than a few seconds (grin). But I'm constantly wondering, "How can I make it better?". Should I have used an array instead of a hash? Was storing my variables in a separate namespace better than creating an object to manage them? On and on and on.

To some degree, these types of design issues are independent of the programming language. Maybe reading some general OOP or data structures texts would be helpful. (Regarding data structures: Mastering Algorithms with Perl has lots of good info about using data stuctures in Perl effectively.)

But in Perl, there are so many ways to do it and they all change depending on so many different aspects of your program, the data structures you choose, the user interface you are using, the storage methods available. I don't get a feeling of satisfaction when I've finished a program. I sit in front of my screen, turning bits of the code around in my mind, because I'm not sure I've done it the best way. Even when it's finished, it's still not done.

Learning the Perl idioms and the tradeoffs among the WTDI should help resolve some of those nagging doubts. I would highly recommend The Perl Cookbook and Effective Perl Programming. A careful study of these books (not just cut-n-pasting :-) will give you a great feel for what good advanced perl looks like and why.

laughingboy


In reply to Re: I can't get no... by laughingboy
in thread I can't get no... by jepri

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • 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> <u> <ul>
  • 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 intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (4)
As of 2024-04-20 12:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found