http://www.perlmonks.org?node_id=1227784


in reply to Re: Perl program to search files
in thread Perl program to search files

Note the use of a statement modifier in the second case. In general, statement modifiers should be preferred over compound statements whenever a single statement is involved, as this simplifies the code.

I STRONGLY oppose to this statement. This might be true for you, but I personally hate statement modifiers used for this, as it causes me to read code backwards, which is a maintenance nightmare.

IF simplification to one-liners is required, I use it the other way round (TIMTOWTDI)

if ($VERBOSE) { PRINT ("SEARCHING: ", FormatPath ($PATH)); } + # original $VERBOSE and printf "" %-8dSEARCHING: %s\n", $TOTAL, FormatPath ($PATH +); # Readable and understandable printf " %-8dSEARCHING: %s\n", $TOTAL, FormatPath ($PATH) if $VERBOSE; + # unmaintanable

Enjoy, Have FUN! H.Merijn

Replies are listed 'Best First'.
Re^3: Perl program to search files
by eyepopslikeamosquito (Bishop) on Dec 28, 2018 at 23:05 UTC

    Agree. This seems to be a matter of personal taste as indicated by the discussion at: A matter of style: how to perform a simple action based on a simple condition?

    In addition to preferring block-if to postfix-if I always use the multi-line form of block-if. Why? Consider changing:

    if ($VERBOSE) { PRINT("SEARCHING ..."); }
    to:
    if ($VERBOSE) { # Do something else here ... or just add a clarifying comment PRINT("SEARCHING ..."); }
    With multi-line block-if that's an easy to understand one line change and easier to understand at a glance when looking at the change history of the file in version control. OTOH, with postfix-if, adding a second statement to the if condition requires making more and harder-to-understand code changes.