in reply to Re^2: breaking up a file by delimiter
in thread breaking up a file by delimiter

I don't generally like statement modifiers.
You don't have to follow me on that, but statement modifiers can help making your code clearer and more concise.

Consider for instance this (somewhat meaningless) example:

while (<$IN>) { next if /^\s*$/; # remove empty lines next if /^\s*#/; # remove comments next if /ORA/i; # remove lines with Oracle warnings and errors next unless some_condition($_); last if /File processed/; # ... now do the actual processing of useful lines }
If you wanted to do the same with regular conditionals, you would need about three times as many code lines, and it would probably end up being less clear.

Update: added a missing closing parenthesis to the while condition.<\small>

Replies are listed 'Best First'.
Re^4: breaking up a file by delimiter
by tybalt89 (Monsignor) on Oct 08, 2018 at 00:05 UTC

    without statement modifiers :)

    while (<$IN> { /^\s*$/ and next; # remove empty lines /^\s*#/ and next; # remove comments /ORA/i and next; # remove lines with Oracle warnings and errors some_condition($_) or next; /File processed/ and last; # ... now do the actual processing of useful lines }

    I actually prefer this form. It's in the same spirit as open or die

    ( TMTOWTDI forever :)

      Yes, you're right, I know this can be done and I am sometimes using this form. TIMTOWTDI. I tend however to prefer statement modifiers because I believe they are slightly clearer to many people, especially beginners.