in reply to using 'or' followed by ','

One thing you need to know is the precedence between "or" and ",". Perl says "," has higer precedence. This is why "1 or warn("1"), warn("2")" does not print anything, otherwise, you would most likely see "2" gets printed.

That "next" appears to be decorative, unless that is not the last line in the loop as you showed.