Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
Hello ktsirig,

despite my high level here at perlmonks I just pass the basic usage of Perl. I've studied medieval history and never gone beyond trigonometry in math. Now Perl is my best friend for my sysadmin job. I've a little codebase running since 2004 (?) that speed up a lot my daily work and monitoring tasks. My code base is objectively horrible and given to me the possibilty to rewrite it i'd do in a very different way.. But my little codebase get the job done.

During these years Perl has become my only sane interaction with the machine: i've produced many standalone applications i'm proud of and a lot of one-shot little programs to get the life simpler.

Another personal example: i get interested with the Pascal's triangle (well i call it Tartaglia's triangle..). I wrote a little piece of code to produce the triangle, i read other intersting solutions and i'v also understood many but i've not learn how to get the rigth intuition to produce the triangle with a oneliner like:

perl -e "while((@_=(1,map$_[$_-1]+$_[$_],1..@_))<=$ARGV[0]){print qq(@_\n)}"

By the other hand my lack of math geniality has not stopped me to produce a full program i'm still proud of: TkTartaglia's triangle. Doing so i had fun and I lern a lot about how using different tools.

That's the point: Perl is a tool.

Programming Perl can be a tecnique (τέχνη is the best word), a craft or even an art.

What you can do, as i do, is to practice the tool and learn from others to use the tool in the appropriate way, possibly in the best way. as you already know is a wonderful place to learn how others approach a problem.

For example I never done a multithread program, but i followed the matter over the years (my restyled homenode has bunch of links about..) and know i know what tecniques i have to follow, what code i can borrow, which pattern i must follow in the case i want to do paralell programming.

That said intuition cannot be teach.

You can practice appropriate methods to get particular jobs done, learn which idioms are preferred and why and your knoweledge baggage will become richer and richer, adding possibilities to your own intuitions


There are no rules, there are no thumbs..
Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.

In reply to Re: How does one learn perl programming efficiently - the tool and the hand by Discipulus
in thread How does one learn perl programming efficiently - if they do not come from computer science background? by ktsirig

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 or How to display code and escape characters are good places to start.
Log In?

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

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (6)
As of 2022-06-29 18:18 GMT
Find Nodes?
    Voting Booth?
    My most frequent journeys are powered by:

    Results (97 votes). Check out past polls.