[Perl] combines the power of C with the readability of PostScript. -- Jamie Zawinski

@ColinTheMathmo ... and the speed of BASIC.

(Maybe that's unfair - I haven't used Perl for years)

@ColinTheMathmo it's industry-friendly implementation of Brainfuck

@ColinTheMathmo

"Perl is the programming language analog to vise-grip pliers:
Nearly always the *wrong* tool for the job, but wow is it useful..."

@ColinTheMathmo

Also? Spend a few months in the bowels of Autoconf + M4 and I guarantee you'll stop complaining about Perl...

@wrog @ColinTheMathmo I prefer autoconf and m4 over Perl. Autoconf has a clear use case for which there is no comparable replacement. For Perl, there’s many comparable replacements.

@ColinTheMathmo I developed #Perl quite a few years for a living.
This clearly showed, that the codestyle policies and their enforcement within a project/team makes all the difference for non-opionated languages like Perl.

Some of the best structured, most readable code I ever saw was in Perl - but at the same time, you can write valid Perl code which is indistinguishable from trying to #OCR paint splatters:
https://www.mcmillen.dev/sigbovik/

93% of Paint Splatters are Valid Perl Programs | Colin McMillen

@ColinTheMathmo …and when it all goes wrong, there's a certain truth to this quote by Keith Bostic:

"Perl - The only language that looks the same before and after RSA encryption."

#Perl

@eliasp @ColinTheMathmo I suppose it depends on whether you like to form your own #programming opinions (individually or as a team) or whether you prefer them forced by the language itself

@eliasp @ColinTheMathmo BTW #Perl has two well-known tools to encourage and enforce #programming style and best practices, respectively:
#PerlTidy: https://perltidy.github.io/perltidy
#PerlCritic: http://perlcritic.com

Your project or team can use their reasonable defaults or further configure them to reflect and maintain the consistent application of your preferences. They also integrate with editors/IDEs, source control management, and author #testing.

@eliasp @ColinTheMathmo As an aside, it’s really strange when #developers that use #Linux and other #FOSS tools champion an ecosystem where a thousand distributions and desktop environments bloom, but in the next breath insist the best #ProgrammingLanguage is one that lashes them to One True #Programming Style.
@mjgardner @eliasp @ColinTheMathmo Don't forget CPAN::Audit to look for vulnerable libraries with open CVE's!

@eliasp @ColinTheMathmo For the sake of technical correctness, the last OCR example given as ...

this image is recognized as the string ;E,'__', which evaluates to the string E__ in Perl

... does not evaluate to E__. In scalar context it is just the string __; in list context it is a list of two strings, E and __.

@ColinTheMathmo Well, jwz also thinks regex is hard, so I'd take his opinions with a grain of salt. 😛
That said, there is something to be said for the power of C: Perl is the only "scripting" language I've seen that lets you use kernel system calls directly, even if your libc doesn't support them yet.
@ColinTheMathmo C combines the power of assembly language with the flexibility of assembly language
@CubeRootOfTrue @ColinTheMathmo unfortunately, C is much less flexible than asm :( and less powerful of course as well

@mirabilos @ColinTheMathmo

Well, it was a joke of course, but GCC can handle this:

int fun(void)
{
int my_var = 10;
register int my_int = 15;
__asm__ __volatile__(
" lock ;\n"
" addl %1,%0 ;\n"
: "=m" (my_var)
: "ir" (my_int), "m" (my_var)
);
return my_var;
}

so ... it's not straight C ... umm, or flexible, or readable ...