Perl One-Liners
nostarch.com
nostarch.com
Some day that database will super valuable. It still is. Sometimes I get this idea that once could crawl that site, extract all the useful information and convert it into a neat book.
All the best, and Happy writing Perl one-liners, its an art of converting days worth work into a few seconds. I haven't read this book, but it definitely must be awesome. As with anything with Perl, it always is.
Before all this big data fad caught on, I used to write Perl one liners to solve most problems in 10% the time and probably 1% of the resources, for nearly most cases of what people call big data today.
I inherited a Perl CGI and MySQL monster back in 2002 from a Perl monk who unfortunately died. It was a horrific Cthulu-inspired sprawling demon from hell. Little did I know, this is the norm until my third wave of inherited Perl a few years later.
Larger things now push me to Python and I get enough mileage on the smaller things out of the shell and sed/grep/awk. If I want fast stuff, it's a speedup module for Python in C.
I think back fondly of it but I know at the same time it hurt me.
I was once that "someone else" - I once left a many-thousand line script behind me which consisted of hundreds of undocumented (and very similar in many cases) regexes and not one instance of the word 'sub'. "It just sort of grew like that", "I was young, a novice!" I tell myself, but still jerk awake in a cold sweat from time to time after fevered dreams of 30 levels of conditional nesting.
My last gig where I took over for "someone else", a fairly new system which still managed to have "legacy issues", I understood the gravity of my crime. I tried to atone by crafting concise, readable nuggets for my successor but I am still haunted.
I met the chap who took over from me recently. Regarding my "someone else" he asked: "How did you maintain your sanity?" "I didn't". He also complimented the parts I left behind, but I still have those restless nights.
"Someone else"'s worst crimes were committed using Ruby on Rails, but the Perl system was constrained by an existing, strongly defined framework. With absolute freedom, there's no telling what damage "someone else" may have wrought.
I guess a sufficient level of disinterest in maintainability can defeat any language designer's hopes for the future.
I'm happy to give free review copies to first 10 people who'd really like to read the book! (Print books+ebooks within the US, ebooks anywhere else.) Just respond to this comment and I'll send you a free review copy!
Alternatively use coupon code HNPERL for 40% off (till Dec 16).
UPDATE: All 10 copies have been claimed. Thanks everyone who participated in the giveaway!
Just about to talk the dog out for a walk, but will check in as soon as I return. Thanks for the opportunity.
I'd love to have a copy of the book.
Talking about Ruby, take a look at this:
http://benoithamelin.tumblr.com/ruby1line
My friend Benoit Hamelin translated all Perl one-liners to Ruby a while ago!
I read most of this book, and didn't want to yell at the authors because they were doing Perl wrong.
Given how much of a perfectionist bastard I am ... this is likely high praise.
or because you were being ... inexplicably... kind?
Wrong type of Perl one-liner?
perl -E 'say "Your mama writes Perl code so bad she made Larry Wall switch to Python!"'perl -ne 'print "$. $_" if $a{$_}++' looks like it has 1s instead of ls - happens whenever the monospaced font is used.
Reusable - I have always felt that Perl is a write-only language. :)
urlescape () { perl -MURI::Escape -lne 'print uri_escape($_)' <<< "$1"; }
urlunescape () { perl -MURI::Escape -lne 'print uri_unescape($_)' <<< "$1"; }
Then you can reuse them often. :)Good perl is a different matter.
With great expressiveness comes great ability to express how bad you are at writing maintainable code.