![]() |
|
|
|
Registered
Join Date: Mar 2003
Posts: 10,339
|
unix/linux guys - suggest a perl book/site?
I've had a few programming languages, but no Perl other than minor modifications to really simple scripts.
Got a good book to recommend or a good website with getting started tutorials? Thanks!
__________________
“IN MY EXPERIENCE, SUSAN, WITHIN THEIR HEADS TOO MANY HUMANS SPEND A LOT OF TIME IN THE MIDDLE OF WARS THAT HAPPENED CENTURIES AGO.” |
||
![]() |
|
Feelin' Solexy
Join Date: Oct 2003
Location: WA
Posts: 3,790
|
Perlmonks.org was my go-to site back in the day, between that site and the "camel book" (O'Reilly) I got Perl under my belt pretty fast. Great language, BTW.
__________________
Grant In the stable: 1938 Buick Special model 41, 1963 Solex 2200, 1973 Vespa Primavera 125, 1974 Vespa Rally 200, 1986 VW Vanagon Syncro Westfalia, 1989 VW Doka Tristar, 2011 Pursuit 315 OS, 2022 Tesla Y Gone but not forgotten: 1973 VW Beetle, 1989 Porsche 944, 2008 R56 Mini Cooper S |
||
![]() |
|
Registered
Join Date: Aug 2002
Location: MD
Posts: 5,733
|
Quote:
|
||
![]() |
|
Back in the saddle again
Join Date: Oct 2001
Location: Central TX west of Houston
Posts: 56,135
|
I did a search a while back for this very thing. I took Fortran 77 in college, and remember basic from my C-64 days. I think those two experiences scarred me for life. I've not been able to force myself to program except for a little html which I wouldn't count as programming.
The results of my search revealed 2 books, the camel (although some folks recommend the llama before the camel) and Beginning Perl by Simon Cozens. I've got the Cozens book and did start reading it, but then my hours at work ramped up to 60/week and I stopped. That one is also online for free. http://www.perl.org/books/beginning-perl/ You may also want to check out the reviews for the camel book on Amazon. http://www.amazon.com/review/product/0596000278/ref=cm_cr_dp_all_helpful?_encoding=UTF8&coliid=&showViewpoints=1&colid=&sortBy=bySubmissionDateDescending
__________________
Steve '08 Boxster RS60 Spyder #0099/1960 - never named a car before, but this is Charlotte. '88 targa ![]() |
||
![]() |
|
Registered
Join Date: Mar 2008
Location: Seattle, WA
Posts: 353
|
Not for virgins but if you already have coding experience, especially with other C-based languages, you could probably start with:
Perl Core Language Little Black Book by Steven Holzner published by Coriolis ISBN: 1-57610-426-5 You can learn the what's and how's of Perl and have a handy reference book that only a guru would outgrow.
__________________
Carrera 3.2 - "Faster, Stronger, Better" |
||
![]() |
|
Registered
Join Date: Jul 2003
Location: Glorious Pac NW
Posts: 4,184
|
Buy the Perl CD Bookshelf, 6 searchable books ("Perl in a Nutshell", "Learning Perl", "Programming Perl", "Perl Cookbook", "Learning Perl Objects, References and Modules" and "Mastering Regular Expressions" (PDF), with a bonus dead tree copy of "Perl in a Nutshell". Available cheap on Amazon, and very useful for searching for stuff. You can also load onto your laptop and take it with you.
The O'Reilly books are a great start, although Randal Schwartz's "Pearls Of Wisdom" series is classic, and the "Pro Perl Debugging" Apress book has the only good, in-depth treatment of the Perl Debugger I've ever seen. Sooner or later, "print" statements just ain't gonna cut it... Oh, and once you've learnt a little Perl, surf CPAN for a week. No point spending 3 days writing some dodgy code when someone has been developing/maintaining industrial-strength modules that do exactly what you want for the last 3 years...
__________________
'77 S with '78 930 power and a few other things. |
||
![]() |
|
![]() |
Feelin' Solexy
Join Date: Oct 2003
Location: WA
Posts: 3,790
|
Quote:
Perl also has what is IMHO one of the oddest/coolest subcultures of any language, centered around creating working programs that show a picture in the code. The classic is the so-called camel code: Code:
#!/usr/bin/perl -w # camel code use strict; $_='ev al("seek\040D ATA,0, 0;");foreach(1..3) {;}my @camel1hump;my$camel; my$Camel ;while( ){$_=sprintf("%-6 9s",$_);my@dromedary 1=split(//);if(defined($ _=)){@camel1hum p=split(//);}while(@dromeda ry1){my$camel1hump=0 ;my$CAMEL=3;if(defined($_=shif t(@dromedary1 ))&&/\S/){$camel1hump+=1<<$CAMEL;} $CAMEL--;if(d efined($_=shift(@dromedary1))&&/\S/){ $camel1hump+=1 <<$CAMEL;}$CAMEL--;if(defined($_=shift( @camel1hump))&&/\S/){$camel1hump+=1<<$CAMEL;}$CAMEL--;if( defined($_=shift(@camel1hump))&&/\S/){$camel1hump+=1<<$CAME L;;}$camel.=(split(//,"\040..m`{/J\047\134}L^7FX"))[$camel1h ump];}$camel.="\n";}@camel1hump=split(/\n/,$camel);foreach(@ camel1hump){chomp;$Camel=$_;y/LJF7\173\175`\047/\061\062\063\ 064\065\066\067\070/;y/12345678/JL7F\175\173\047`/;$_=reverse; print"$_\040$Camel\n";}foreach(@camel1hump){chomp;$Camel=$_;y /LJF7\173\175`\047/12345678/;y/12345678/JL7F\175\173\0 47`/; $_=reverse;print"\040$_$Camel\n";}';;s/\s*//g;;eval; eval ("seek\040DATA,0,0;");undef$/;$_=;s/\s*//g;( );;s ;^.*_;;;map{eval"print\"$_\"";}/.{4}/g; __DATA__ \124 \1 50\145\040\165\163\145\040\157\1 46\040\1 41\0 40\143\141 \155\145\1 54\040\1 51\155\ 141 \147\145\0 40\151\156 \040\141 \163\16 3\ 157\143\ 151\141\16 4\151\1 57\156 \040\167 \151\164\1 50\040\ 120\1 45\162\ 154\040\15 1\163\ 040\14 1\040\1 64\162\1 41\144 \145\ 155\14 1\162\ 153\04 0\157 \146\ 040\11 7\047\ 122\1 45\15 1\154\1 54\171 \040 \046\ 012\101\16 3\16 3\15 7\143\15 1\14 1\16 4\145\163 \054 \040 \111\156\14 3\056 \040\ 125\163\145\14 4\040\ 167\1 51\164\1 50\0 40\160\ 145\162 \155\151 \163\163 \151\1 57\156\056
__________________
Grant In the stable: 1938 Buick Special model 41, 1963 Solex 2200, 1973 Vespa Primavera 125, 1974 Vespa Rally 200, 1986 VW Vanagon Syncro Westfalia, 1989 VW Doka Tristar, 2011 Pursuit 315 OS, 2022 Tesla Y Gone but not forgotten: 1973 VW Beetle, 1989 Porsche 944, 2008 R56 Mini Cooper S |
||
![]() |
|
Registered
Join Date: Jul 2003
Location: Glorious Pac NW
Posts: 4,184
|
Quote:
Some folks just have waaaay too much time on their hands...
__________________
'77 S with '78 930 power and a few other things. |
||
![]() |
|
Registered
Join Date: Mar 2005
Location: London, ON, Canada
Posts: 1,737
|
Also, be aware that Perl has now been "objectified", so it has a bunch of things like abstraction, encapsulation, inheritance, and polymorphism.
In short, it's not quite the simple "scripting" language it used to be. If you're new to the concepts of objects and the above object "stuff", you should really find a couple of books to help with wrapping your head around objects. Rather different programming style than C or other linear languages. 3 books I recommend are: Head First Object-Oriented Analysis and Design Bruce Eckel's "Thinking In Java" (http://mindview.net/Books/TIJ4) (might be Java, but does a great job of teaching how to think in an object-based language, and most applies to Perl... also has a free on-line electronic version of the book). Object Oriented Perl. It seems to me that this is the biggest problem with most Perl apps that I've encountered... they fail to do "objects" the proper way in both design and implementation. And good design patterns books go without saying. $0.02 |
||
![]() |
|
Where is that wrench?
Join Date: Jun 2003
Location: Irvine, CA
Posts: 1,415
|
While many of the books listed here may be good resources there is no better place to get started then with Programming Perl (aka the camel book).
|
||
![]() |
|
Back in the saddle again
Join Date: Oct 2001
Location: Central TX west of Houston
Posts: 56,135
|
So, id10t, are you a Perl god now? I've started reading again. I think that once I get this stuff figured out, I'll really like having the knowledge, but trying to learn this stuff, at least so far is on par with using a rusty spoon and a spork as a self vasectomy kit. I guess the basic on the C64 when I was a kid, and then Fortran 77 in college poisoned me against scripting/coding. I'm hoping that once I learn Perl, that it'll open my mind up a bit and I'll be able to learn some other stuff. I don't want to become a programmer, but some knowledge of this stuff could be very useful.
__________________
Steve '08 Boxster RS60 Spyder #0099/1960 - never named a car before, but this is Charlotte. '88 targa ![]() |
||
![]() |
|
Registered
|
When I worked for Time Warner Cable a bunch of years ago me and a group of guys were the 'tools team' and we wrote in Perl and Shell scripts. It was awesome - my mind was ALWAYS programming. I would wake up having solved a problem in my sleep and write it down then go back to sleep. I'd wake up the next day and actually be able to read what I had written that night! It was crazy!
I'd get on the tread mill (I was quite a few pounds lighter too) and listen to some rage, get a good rhythm going and get into this 'state' where I would literally write the scripts in my head. Now I can barely recall how to do a for loop...
__________________
-The Mikester I heart Boobies |
||
![]() |
|
Registered
Join Date: Dec 2005
Posts: 1,284
|
"Perl in 21 days", if its still in production.
Why, I gave it to a friend and now he makes 6 figures. thats 1 more figure than me.
__________________
Have you ever felt suffocated while watching the Oxygen Channel? People with excuses fail. As soon as I OK my actions with an excuse, I cease bettering myself. 88 Carrera |
||
![]() |
|