Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Learning Perl Online
by LanX (Saint) on Nov 11, 2009 at 15:40 UTC | |
Best approach is to get involved in others problems and to try to figure out the best solution strategy (not the fastest solution). IMHO there is no better way to learn than to explain to others. It's win-win. The second best approach is to ask good questions. ...what I mean: Good questions are elaborated and precisely leading to the crucial point. They show what was already tried (also searching the archives) and could be tried. They have a higher degree of "why" than "how". This doesn't mean they have to be long and heavy worded, they just lead to a good entry level. IMHO there are not many learning strategies more profound than dialogic learning, just to add some Socrates! :) So if you're interested in special moduls, check the archives and post good questions about them, introducing and interesting others to join learning ... Old threads can always be reanimated, and if there are no old threads, motivate why there should be. HTH
Cheers Rolf | [reply] [Watch: Dir/Any] |
Re: Learning Perl Online
by zentara (Archbishop) on Nov 11, 2009 at 16:32 UTC | |
... for me, the best way to learn is to start writing programs, and see what problems you encounter..... everyone runs into the same types of problems over and over, so to really learn, you should force yourself to write something complex..... then you get a handle on data structures and all the advanced stuff like db access, threads, ipc, and all the things you see discussed here. ....personally, in my learning process, i evolved in a few steps, from programs where everything is simple scalar variables, onto arrays, then finally to hashes and all the AoA, HoA, etc etc stuff. .... in general, you will find that most modules are like blessed hashes.... so you need to get your mind set into seeing things as a complex data structure ...... this is best accomplished by forcing your mind to design some.... like a "story book" problem of grade school, where the teacher asks you to actually use math to model and solve a real world problem .... so choose some project that interests you, and start writing it....it goes step by step.... first you lay out the skeleton of the program, then step by step adding more complexity( watching for possible bugs each step of the way, and saving all developmental scripts, so you can fallback in case you make a design mistake ...you will not learn much by just reading other people's code....it's 90% perspiration.... so start writing and running code, and modifying other's code, and see what the modifications do..... | [reply] [Watch: Dir/Any] |
by dwm042 (Priest) on Nov 11, 2009 at 17:06 UTC | |
| [reply] [Watch: Dir/Any] |
by Anonymous Monk on Nov 12, 2009 at 13:20 UTC | |
| [reply] [Watch: Dir/Any] |
by zentara (Archbishop) on Nov 12, 2009 at 13:38 UTC | |
...this is the way it works.... modules are just giant code efforts to do some task, that everyone previously was doing with separate disparate scripts.... eventually some smarter coders but the code into packages to make it easier for others to use....but there is no rhyme nor reason to what makes it to a module, or even if it works anymore..... i don't think anyone in the Perl community wants to go thru all the modules out there, and write a book catagorizing what they do for you ...as to what Perl can do for you, it is only limited by your ingenuity and your knowledge of what a computer system can be used for. ...modules are just encapsulated code blocks....if you want to know what they do...look thru all the entries on CPAN, and start downloading and running the examples.....i can't even count the number of times that I've done:
| [reply] [Watch: Dir/Any] [d/l] |
by rlucas (Scribe) on Nov 14, 2009 at 03:32 UTC | |
| [reply] [Watch: Dir/Any] |
Re: Learning Perl Online
by ww (Archbishop) on Nov 11, 2009 at 16:16 UTC | |
You'll also find the Tutorials here useful for many cases of "a thing at a time" and, as LanX noted, simple participation in the Monastery can be an invaluable part of your learning. | [reply] [Watch: Dir/Any] [d/l] [select] |
Re: Learning Perl Online
by biohisham (Priest) on Nov 11, 2009 at 16:27 UTC | |
Excellence is an Endeavor of Persistence. Chance Favors a Prepared Mind. | [reply] [Watch: Dir/Any] [d/l] |
Re: Learning Perl Online
by clp (Friar) on Nov 11, 2009 at 18:39 UTC | |
Convince someone to pay you to write code. That can be a great motivator to learn.
If you're employed,
convince the boss to pay you to do projects using Perl.
If that fails,
identify activities where Perl could save you time and effort,
and do the work on your own time.
Join a Perl-based project at sourceforge.net (or other online repository): see the 'Project Help Wanted' section. Find a project that you want to learn, study its code, connect w/ the other team members, add some tests, fix bugs, add features.
Online course:
Be a mentor to people looking for help (eg, answer questions at perlmonks). Teaching something is a good way to learn it.
Write an article about a topic you want to learn.
Learn to manage your own desktop machine effectively, so you don't have to rely on the IT help desk. Perl has many tools for sys admin tasks. See the books on Perl for sys admin (eg, Automating System Administration with Perl). Build your own custom toolbox that you can take with you to many different work sites. | [reply] [Watch: Dir/Any] |
Re: Learning Perl Online
by moritz (Cardinal) on Nov 12, 2009 at 13:31 UTC | |
I like to learn different modules and their practical usage. They say "Perl is just the syntax, CPAN is the language" and things like that. There's some truth to it: learning about modules is just as diverse as learning new languages. Asking "where can I learned foreign languages" doesn't make much sense, unless you tell us which languages you want to learn. The general answer is "at your local university" or so, which doesn't help you either. So I suggest you rethink your approach: instead of asking "where can I learn about modules" you start asking "where can I learn how to achieve $goal", and then "which modules can I use to simplify this", and then "where can I learn how to use $module". The answers depend very much on the specific field, and a general answer is so general that it's useless to you ("on the internet").
Perl 6 - links to (nearly) everything that is Perl 6.
| [reply] [Watch: Dir/Any] |
Re: Learning Perl Online
by godfetish (Novice) on Nov 12, 2009 at 17:04 UTC | |
As a part-time CS Professor and full-time Software engineer, my advice is to generally forget online tutorials until you need a reference later. I was hired 10 weeks ago to refactor old code with no previous Perl experience. Online tutorials didn't seem to help me as much as using Perl by Example to learn the basics of Perl and it's OOP styles and then more once I had actually written code to do everything I had read about. Then I went on to Perl Medic which while helpful really didn't teach me in depth on the how-to for making old code refactored into OO...that was when I dove into the code and started actually writing perl for real. After the basics I started using perldoc.perl.org, CPAN and PerlMonks. Honestly, without the foundation you get in a linearly studied education you will be lost in the real world. No tutorials will help you like a book you can quickly reference...which you will, forever, if you continue with Perl. Currently my desk is littered with the Cookbook, PbyE, Medic and a permanent link to Safari Books Online in my browser for the books I haven't bought hard copies of yet. It's been 10 weeks, I just finished my first project which is 25803 lines of code. Perl's not hard to learn, it just isn't easy if you don't apply yourself and invest in the right tools...and the previous post about someone paying you definately helps! | [reply] [Watch: Dir/Any] |
Re: Learning Perl Online
by rlucas (Scribe) on Nov 14, 2009 at 03:27 UTC | |
| [reply] [Watch: Dir/Any] [d/l] |
delete - my mistake
by pid (Monk) on Nov 16, 2009 at 12:40 UTC | |
http://perl101.org helped me a lot, I hope you'll feel the same too. :) | [reply] [Watch: Dir/Any] |