in reply to Re^2: Meaning of Maintanability and Functionality in Coding Perl
in thread Meaning of Maintanability and Functionality in Coding Perl

Every language has its esoterica and every language has features that make future maintenance more challenging than it should be. I'm not saying never use substr as an lvalue; I'm saying (turgidly, perhaps) is that idiom should be eschewed if it conflicts with clarity.

I doubt if writing
if($current_line =~ m/abc/)
will confuse a real Perl programmer, just as I doubt that
DO LOOP_COUNTER = START, FINISH
will confuse a real Fortran programmer.
Why not write
 DO I=J,K
instead?

I will agree idioms are there for a reason, but the idioms are not the language. Fortran, a language I've dealt with for several decades, has all sorts of idioms which are generally considered Bad Things. Most corporate style guides forbid Fortran programmers from using computed and assigned gotos and arithmetic if statements, both perfectly legitimate idioms. Perl has a goto; it's there for a reason, but that doesn't make its use a good idea.

emc